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

nis*_*nis 7 c linux gdb

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

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

Sie*_*geX 7

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

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

此外,您还需要在打开调试信息的情况下编译可执行文件.如果你正在使用gcc那么我会建议你用-ggdb3它来做.