虽然试图分析广发行核心转储(过程由断言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需要更改以处理它,并且在异常处理代码中还有改进的空间。 –