代码之家  ›  专栏  ›  技术社区  ›  michalsrb

GDB-将地址映射到源代码中的行和列

  •  0
  • michalsrb  · 技术社区  · 7 年前

    gcc和clang都有选择权 -gcolumn-info ,这是这样描述的:

    将位置列信息发送到DWARF调试信息中,而不仅仅是文件和行。

    我用这个选项编译了二进制文件。现在我有一些指令的地址,想把它转换回源文件,行号 和列 . 在gdb有办法吗?有没有其他工具可以提取这些信息?

    我知道我可以用 info line *0xabcd1234 在gdb中获取与该地址对应的源文件和行,但它不显示该列。

    0 回复  |  直到 7 年前
        1
  •  0
  •   michalsrb    7 年前

    在回答我的客人时,我找到了一种利用 lldb 和 image lookup 命令:

    (lldb) image lookup --address 0x134adc
          Address: libaaa.so[0x0000000000134adc] (libaaa.so.PT_LOAD[0]..text + 1030908)
          Summary: libaaa.so`test() + 272 at test.cpp:1842:124
    
    推荐文章