0

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

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

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

(PS:这很简单,但我似乎找不到怎么做。可能没有使用正确的搜索词)。

4

2 回答 2

0

看看addr2line实用程序

$ gcc -g s.c
$ addr2line 0x400855    
s.c:42
于 2011-06-29T12:16:06.713 回答
0

在 gdb 中运行您的应用程序,然后在崩溃后键入 bt 以打印完整的回溯,这通常比仅发生崩溃的那一行要好得多。

于 2011-06-29T12:19:58.157 回答