2017-01-10 72 views
1

當我嘗試使用gdb調試核心文件時,我沒有看到任何有效的堆棧跟蹤進一步進行(類似於下面的鏈接中報告的問題)。你能幫我解答一下如何進一步調試以調試問題。任何指針或gdb命令將有助於分類問題。如何調試無法使用gdb訪問地址

GDB debugging trace with no relevant info (#0 0x2e6e6f69 in ??())

(gdb) where 
#0 0x76c0da28 in ??() 
#1 0x76c0d9e0 in ??() 
#2 0x76c0d9e0 in ??() 
Backtrace stopped: previous frame identical to this frame (corrupt stack?) 
(gdb) 

編輯:爲了排除-g標誌和host environment問題的可能性,我特意加了碼崩潰,並能夠從核心文件得到正確的堆棧跟蹤。

+2

你是否使用'-g'選項來編譯二進制文件? –

+0

是的,它被編譯。 –

+1

損壞的堆棧消息可能表明存在訪問錯誤(大多數情況下無效的寫入),其他工具(如[valgrind](http://valgrind.org)可以幫助解決您的問題。 – dvhh

回答

0

當我嘗試調試內核文件使用gdb我沒有看到

是同一臺主機上產生的核心在那裏被分析任何有效的堆棧跟蹤?

如果沒有,this answer說明你需要做什麼。

+0

是的,它在同一個主機上。 –