如何在命令行中使用addr2line

如何使用addr2line? 我有一个程序给出了在崩溃之前访问的最后10个地址的回溯。 但如果我使用这些地址addr2line像

addr2line -e test [address] 

它只是给我

 ??:0 

有没有一种特殊的方式来编译使用addr2line就像我们使用ggdb来使用gdb?

Solutions Collecting From Web of "如何在命令行中使用addr2line"

您需要将一些调试信息编译到您的可执行文件中。 例如

 $ gcc tc # debug information not requested $ gdb ./a.out ... (gdb) break main Breakpoint 1 at 0x400588 (gdb) q $ addr2line -e a.out 0x400588 ??:0 # no information returned $ gcc -g tc # default debug information requested with -g $ addr2line -e a.out 0x400588 tc:4 # line information returnedd $