在gdb 6.3中切换多个堆栈

时间:2009-09-17 11:56:57

标签: gdb callstack backtrace multiplestacks

程序中有两个堆栈:一个是由OS创建的,第二个是由程序本身创建的,用于运行一些代码。

当程序在第二个堆栈中崩溃时,我想切换到gdb中的主堆栈并查看回溯。有可能吗?

我试图将rsp保存到变量并在崩溃后更改它,但结果回溯不正确。我认为gdb无法区分堆栈中的帧。

1 个答案:

答案 0 :(得分:0)

如果你有两个带有两个堆栈的线程,你可以通过'info threads'查询线程。 在知道要查看哪个线程的堆栈后,使用'thread'命令选择它。在命令之后输入线程的编号。

然后你只需要通过'bt'

查询堆栈