2013-07-25 60 views
1

有損壞堆棧的coredump文件,沒有任何有用的信息。我如何找到調用堆棧? 堆棧顯示:如何在只有損壞的堆棧文件時找到調用堆棧?

#0 0x04229c7a in ??() 
#1 0x00921fa7 in ??() 
#2 0xbfc17e04 in ??() 

回溯停止:前幀內該框架

和EIP的地址顯示爲「無法訪問內存」(堆棧損壞?)! 認爲!

+0

你有任何其他類型的日誌文件可以幫助你嗎?這可能有助於向您提供有關問題大概位置的線索。或者一路走來,用函數追蹤,所以你可以看到* exaclty *會發生什麼。 –

+0

找不到來自日誌的任何有用信息! – wuwl

+0

如果您的代碼不包含任何動態庫,則可以嘗試通過映射文件將此地址映射到函數。 –

回答

2

顯示調用堆棧需要正確的指令指針(eip),堆棧指針(esp)和有效的堆棧內容。

從您的輸出看起來堆棧已損壞,並且前面的函數返回到某個隨機地址(eip = 0x04229c7a)。

所以,你運氣不好。

嘗試在valgrind下運行您的程序。

+0

更多建議? – wuwl

+2

嘗試在valgrind下運行您的應用程序。 –