从崩溃信息中打印函数名称

时间:2011-06-29 12:13:07

标签: linux debugging stack dump dmd

我的程序(在Linux上使用DMD编译,D编译器)崩溃,打印信息如下:

./program() [0x807aff8]
./program() [0x807aea9]

如何将函数的地址转换为其名称?我用-debug-g编译了我的程序,所以它应该包含所需的调试信息,我只是不知道如何使用它。

(PS:这很简单,但我似乎无法找到如何做到这一点。可能没有使用正确的搜索词。)

2 个答案:

答案 0 :(得分:0)

查看addr2line实用程序

$ gcc -g s.c
$ addr2line 0x400855    
s.c:42

答案 1 :(得分:0)

在gdb中运行你的应用程序,然后在崩溃后输入bt来打印完整的回溯,这通常比发生崩溃的行要好得多。