如何在进程被杀死后看到堆栈跟踪?

时间:2010-12-01 09:57:13

标签: c linux gdb

我正在使用gdb命令“attach”来调试一个过程 但是在进程崩溃(sigkill)后我看不到堆栈跟踪(gdb中的“bt”命令): (gdb)bt 没有堆栈。

如何在进程被杀死后看到堆栈跟踪?

1 个答案:

答案 0 :(得分:6)

将shell设置为dump core,确保ulimit -c未显示核心大小为0.如果确实为0,则运行ulimit -c unlimited。接下来,重新运行程序,直到它崩溃并转储核心,然后调用:

gdb /path/to/executable /path/to/core并输入bt以获取堆栈跟踪。

此外,您还需要在打开调试信息的情况下编译可执行文件。如果您使用的是gcc,我建议您使用-ggdb3来执行此操作。