我有以下的堆棧跟蹤。是否有可能做出有用的調試呢?GDB損壞的堆棧幀 - 如何調試?
Program received signal SIGSEGV, Segmentation fault.
0x00000002 in ??()
(gdb) bt
#0 0x00000002 in ??()
#1 0x00000001 in ??()
#2 0xbffff284 in ??()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
從哪裏開始看代碼的時候我們得到一個Segmentation fault
和堆棧跟蹤不是那麼有用嗎?
注:如果我張貼代碼,然後將這樣的專家會給我答案。我想從SO的指導中找到答案,所以我不在這裏發佈代碼。道歉。看到
也許你的程序跳下到雜草 - 您可以恢復堆棧指針什麼? – 2012-03-21 17:36:50
要考慮的另一件事是如果幀指針設置正確。你是在沒有優化的情況下建立或傳遞像'-fno-omit-frame-pointer'這樣的標誌嗎?另外,對於內存損壞,如果它是您的選擇,'valgrind'可能是更合適的工具。 – FatalError 2012-03-21 17:36:51