4

gcc 和 clang 都有 option -gcolumn-info,它是这样描述的:

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

我已经用这个选项编译了我的二进制文件。现在我有了一些指令的地址,想把它翻译回源文件、行号和列。有没有办法在 gdb 中做到这一点?是否有其他工具可以提取此信息?

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

4

1 回答 1

1

回答我的问题,我找到了一种使用lldbimage 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
于 2019-10-13T09:46:30.043 回答