1

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

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

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

4

1 回答 1

0

如果您有两个线程和两个堆栈,您可以通过“信息线程”查询线程。在您知道要查看哪个线程的堆栈后,使用“线程”命令选择它。将线程号放在命令后面。

那么你只需要通过'bt'查询堆栈

于 2009-09-19T11:18:45.423 回答