【发布时间】:2011-05-16 10:03:35
【问题描述】:
如何使用addr2line? 我有一个程序可以回溯崩溃前它访问的最后 10 个地址。但如果我使用这些地址添加到 addr2line 之类的
addr2line -e test [address]
它只是给了我
??:0
有没有一种特殊的方式来编译使用 addr2line 就像我们使用 ggdb 来使用 gdb 一样?
【问题讨论】:
如何使用addr2line? 我有一个程序可以回溯崩溃前它访问的最后 10 个地址。但如果我使用这些地址添加到 addr2line 之类的
addr2line -e test [address]
它只是给了我
??:0
有没有一种特殊的方式来编译使用 addr2line 就像我们使用 ggdb 来使用 gdb 一样?
【问题讨论】:
您需要将一些调试信息编译到您的可执行文件中。例如
$ gcc t.c # 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 t.c # default debug information requested with -g
$ addr2line -e a.out 0x400588
t.c:4 # line information returnedd
$
【讨论】: