gcc和clang都有选择权 -gcolumn-info ,这是这样描述的:
-gcolumn-info
将位置列信息发送到DWARF调试信息中,而不仅仅是文件和行。
我用这个选项编译了二进制文件。现在我有一些指令的地址,想把它转换回源文件,行号 和列 . 在gdb有办法吗?有没有其他工具可以提取这些信息?
我知道我可以用 info line *0xabcd1234 在gdb中获取与该地址对应的源文件和行,但它不显示该列。
info line *0xabcd1234
在回答我的客人时,我找到了一种利用 lldb 和 image lookup 命令:
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