是否有独立程序从gdb信息符号获取相同信息

问题描述

如果我将库加载到gdb并执行info symbol 0xB0153C,我会得到类似function + offset

的信息

有没有gdb可以获取相同信息的方法吗?像一些readelf / objdump选项一样?

谢谢

解决方法

有没有办法在没有gdb的情况下获得相同的信息?

我不知道会显示功能+偏移量的任何工具。

使用addr2line来获取封闭函数的名称:

(gdb) info sym 0x108a
main + 10 in section .text

addr2line -fe a.out 0x108a
main
??:?

或将objdump -d与脚本一起使用以计算偏移量(此处为0x108a - 0x1080):

objdump -d a.out | egrep '>:| 108a:' | grep -B1 '108a:'
0000000000001080 <main>:
    108a:       48 83 ec 38             sub    $0x38,%rsp