【问题标题】:Is there a standalone program to get same info from gdb info symbol是否有一个独立的程序可以从 gdb 信息符号中获取相同的信息
【发布时间】:2020-08-24 00:31:16
【问题描述】:

如果我将一个库加载到 gdb 并执行 info symbol 0xB0153C 我会得到类似 function + offset 的内容

有没有办法在没有 gdb 的情况下获得相同的信息?喜欢一些 readelf/objdump 选项吗?

谢谢

【问题讨论】:

  • objdump --dwarf 为您提供所有调试信息。但是,如果 gdb 已经为您提供了所需的信息,为什么不使用它呢?

标签: debugging gdb elf objdump readelf


【解决方案1】:

有没有办法在没有 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

【讨论】:

    猜你喜欢
    • 2021-06-22
    • 1970-01-01
    • 2016-07-07
    • 2021-09-07
    • 2015-11-17
    • 1970-01-01
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多