如何在死亡进程后看到堆栈跟踪?
问题描述:
我正在使用gdb命令“attach”调试过程 ,但是在进程崩溃后(sigkill),我看不到堆栈跟踪(gdb中的“bt”命令): (gdb)bt 没有堆栈。如何在死亡进程后看到堆栈跟踪?
如何在死亡进程后看到堆栈跟踪?
答
通过确保ulimit -c
未显示核心大小为0,将您的外壳设置为转储核心。如果它确实表示0,则运行ulimit -c unlimited
。接下来,重新运行您的程序,直到它崩溃并转储核心然后调用:
gdb /path/to/executable /path/to/core
和类型bt
获取堆栈跟踪。
而且,你会想与调试开启信息编译您的可执行文件。如果你使用gcc
那么我建议你使用-ggdb3
来做到这一点。
我如何知道核心路径? – nis 2010-12-01 10:51:37