我的堆栈跟踪中有一个元素我无法理解:
/lib/x86_64-linux-gnu/libc.so.6(+0x370b0)[0x7ff622fdb0b0]
我没有得到的是,(+0x370b0)
是什么。我希望在+
之前看到一个函数。
这是否意味着跟踪无法获取函数调用,而只是引用共享库中的偏移量?
答案 0 :(得分:1)
它可能是指 libc 中的静态函数,其名称不是可见的符号,例如:到动态加载器,或backtrace(3)
因此,回溯看到一个函数地址,但无法将其转换为符号。参见例如dladdr(3)(找不到缺少名称,但可以在其附近找到一些公开名称。)
也许拥有libc
的调试变体可能会有所帮助(至少使用经过适当配置的gdb
),请尝试安装一些类似libc6-dbg