【发布时间】:2017-08-23 06:06:40
【问题描述】:
在尝试分析 GDB 中的核心转储(由断言中的 SIGABRT 转储的进程)的回溯时,我得到以下输出:
(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-frame-pointer”之类的东西编译的结果。
作为一般问题,如果运行时链接库发生未捕获的异常并且该库不是为调试而构建的,会发生什么,即核心转储是否仍包含有用的信息?
谢谢
【问题讨论】:
标签: c gdb coredump toolchain backtrace