我目前面临 glibc v2.22 的问题,我无法获得正确的展开信息。当有 SIGABRT 应用程序时,它正在从 glibc 调用 abort 函数。它应该使用在构建中启用的展开信息。但是,它正在扫描堆栈(如屏幕截图中地址下方的红线所示)并提供如所附屏幕截图所示的误导信息(使用 sentry 分析转储)。
在这里,do_crash
被调用,assert(0)
然后中止主应用程序。在分析转储时,do_crash 函数调用_fini
从未在主应用程序堆栈中的 。
我通过使用为 glibc 启用了 unwind CFLAGS += "-funwind-tables"
。我也尝试过使用 and 之类的标志-rdynamic
,-fno-omit-frame-pointer
但也没有用。
我在这里错过了什么吗?如何获得信号的完整回溯,尤其是 SIGABRT?
提前致谢