我的程序(在Linux上使用DMD编译,D编译器)崩溃,打印信息如下:
./program() [0x807aff8]
./program() [0x807aea9]
如何将函数的地址转换为其名称?我用-debug
和-g
编译了我的程序,所以它应该包含所需的调试信息,我只是不知道如何使用它。
(PS:这很简单,但我似乎无法找到如何做到这一点。可能没有使用正确的搜索词。)
答案 0 :(得分:0)
查看addr2line
实用程序
$ gcc -g s.c
$ addr2line 0x400855
s.c:42
答案 1 :(得分:0)
在gdb中运行你的应用程序,然后在崩溃后输入bt来打印完整的回溯,这通常比发生崩溃的行要好得多。