标签: gdb callstack backtrace multiplestacks
程序中有两个堆栈:一个是由OS创建的,第二个是由程序本身创建的,用于运行一些代码。
当程序在第二个堆栈中崩溃时,我想切换到gdb中的主堆栈并查看回溯。有可能吗?
我试图将rsp保存到变量并在崩溃后更改它,但结果回溯不正确。我认为gdb无法区分堆栈中的帧。
答案 0 :(得分:0)
如果你有两个带有两个堆栈的线程,你可以通过'info threads'查询线程。 在知道要查看哪个线程的堆栈后,使用'thread'命令选择它。在命令之后输入线程的编号。
然后你只需要通过'bt'