我遇到一個coredump,使用gdb xxx core.1234,然後「bt」,得到那些消息:「0x6f636d6f in ??()」,其中函數名不可讀。我想學: 1. in gdb bt顯示什麼情況?作爲函數名? 2.如何避免這些「??」並獲得可讀的函數名稱?如果gdb frams/bt顯示「??」,會發生什麼情況?但沒有readalbe函數名稱?
回答
1例:堆棧已損壞。
2案例:代碼編譯優化(不知道它)。
3例:你啓動gdb錯誤(例如gdb ./app --core core_name)。
地址0x6f636d6f幾乎肯定無效(即位於進程的內存空間之外),可能是堆棧損壞的結果 - 它對應於ASCII字符ocmo
。
duskwuff,你的意思是:如果它對應於ascc字符串,它不能是該函數的有效地址?tks – basketballnewbie 2012-07-14 05:29:41
這不是一個給定的,但它是一個非常好的猜測。大多數系統不會加載該地址範圍內的代碼。 – duskwuff 2012-07-14 05:33:42
如果OP正在使用小端機,那麼它實際上對應於「omco」。 – caf 2012-07-14 05:58:15
- 1. 如果JS函數名稱與外部函數的參數名稱相同,會發生什麼情況?
- 2. mysql沒有連接,但爲什麼會發生這種情況
- 3. 虛函數內聯函數會發生什麼情況?
- 4. 如果MySQL數據庫未關閉,會發生什麼情況?
- 5. 如果Web服務更改參數會發生什麼情況?
- 6. 爲什麼GDB不顯示行號或函數名稱?
- 7. 如果CFile :: Write引發異常會發生什麼情況?
- 8. 如果我的IExceptionPublisher引發異常,會發生什麼情況?
- 9. 如果finally塊引發異常,會發生什麼情況?
- 10. 如果handle_call函數中存在「record = State」,會發生什麼情況?
- 11. 如果在遞歸返回函數中沒有使用返回值,會發生什麼情況?
- 12. 如果我在PHP的函數末尾沒有包含「return」,會發生什麼情況?
- 13. 如果在SqlDataReader之前關閉SqlConnection,會發生什麼情況?
- 14. 如果我使用printf(「one \ 0two」),會發生什麼情況;?
- 15. TFS - 如果我刪除工作區會發生什麼情況?
- 16. 如果瀏覽器不支持gzip,會發生什麼情況?
- 17. 如果NSURLCache已滿,會發生什麼情況?
- 18. 如果未安裝代碼合同,會發生什麼情況?
- 19. 如果打開失敗會發生什麼情況?
- 20. 如果php.ini丟失,會發生什麼情況?
- 21. 如果超時,會發生什麼情況?
- 22. 如果不使用Xmx會發生什麼情況?
- 23. minimax:如果min不起作用會發生什麼情況
- 24. 如果未捕獲到異常,會發生什麼情況?
- 25. 如果堆棧內存變滿,會發生什麼情況
- 26. 如果決策器未運行,會發生什麼情況
- 27. 如果消息在MQ中回滾會發生什麼情況?
- 28. 如果minSdkVersion低於targetSdkVersion,會發生什麼情況?
- 29. 如果DTD鏈接無處可逃,會發生什麼情況?
- 30. 如果我不指定targetFramework =「4.0」,會發生什麼情況?
我不確定,但剝離的二進制可能會導致符號名稱剝離。 – Aftnix 2012-07-14 03:48:30
tks,什麼是剝離的二進制 – basketballnewbie 2012-07-14 05:18:11
什麼情況堆棧被損壞? – basketballnewbie 2012-07-14 05:19:00