雖然試圖分析廣發行核心轉儲(過程由斷言SIGABRT拋棄)我得到以下輸出回溯:內核轉儲GDB「回溯停止:框架未保存PC」
(gdb) bt
#0 0x76d6bc54 in raise() from ./lib/libc.so.1
#1 0x76d63bb8 in abort() from ./lib/libc.so.1
Backtrace stopped: frame did not save the PC
(gdb) thread apply all bt
的二進制文件是用「-g」編譯的,因此除了工具鏈中的鏈接庫(例如libc甚至沒有符號),我都無法確定它是如何構建的。
這是堆棧損壞或者是它的libc的結果被用類似「fomit幀指針」編譯。
彷彿未捕獲的異常從運行鏈接庫和庫發生一般性的問題沒有得到調試建會發生什麼情況,即可以將信息轉儲仍然包含有用的信息?
由於
改善回溯其包括從共享對象功能而不調試符號
Thanky Erik。我不知道你可以從coredump恢復共享對象,這意味着堆也被傾倒?我嘗試運行structer,但由於某種原因,我遇到了[例外](https://hastebin.com/wudewixoko.sql) – Serj
結構代碼中的異常是由於核心文件的auxv中無法識別的段類型造成的; structer.elf.enums.PType需要更改以處理它,並且在異常處理代碼中還有改進的空間。 –