2010-12-01 91 views
6

我正在使用gdb命令「attach」調試過程 ,但是在進程崩潰後(sigkill),我看不到堆棧跟蹤(gdb中的「bt」命令): (gdb)bt 沒有堆棧。如何在死亡進程後看到堆棧跟蹤?

如何在死亡進程後看到堆棧跟蹤?

回答

6

通過確保ulimit -c未顯示核心大小爲0,將您的外殼設置爲轉儲核心。如果它確實表示0,則運行ulimit -c unlimited。接下來,重新運行您的程序,直到它崩潰並轉儲核心然後調用:

gdb /path/to/executable /path/to/core和類型bt獲取堆棧跟蹤。

而且,你會想與調試開啓信息編譯您的可執行文件。如果你使用gcc那麼我建議你使用-ggdb3來做到這一點。

+0

我如何知道核心路徑? – nis 2010-12-01 10:51:37