我有一个核心文件,其中并非所有共享库符号都可用,回溯如下所示:
#0 0x00007f63f04b19de in ?? ()
#1 0x00007f63f0cf4700 in ?? ()
#2 0x00007f63f7a216ea in start_thread () from /lib64/libpthread.so.0
#3 0x00007f63f512250f in clone () from /lib64/libc.so.6
我想检测框架
#1
(地址0x00007f63f0cf4700
)的函数位于哪个共享库中。
info symbol
无法解决该问题,因为符号不可用。
我可以手动完成 - 运行
info sharedlibrary
并计算该函数属于哪个共享库范围,但这个解决方案非常麻烦。
有没有更简单的方法来实现这一目标?
我想检测第1帧(地址0x00007f63f0cf4700)的函数位于哪个共享库中。
除了ssbssa提供的解决方案之外,您还可以使用
readelf -Wn core
并查找NT_FILE
注释。