hashtag错误消息在调试时有用吗?

时间:2015-06-24 13:58:33

标签: debugging gdb valgrind

我在执行fortran / C程序时有时会遇到错误消息。例如,在运行我现在的fortran程序后,我的屏幕输出中有以下消息。

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x101f584f2
#1  0x101f58cae
#2  0x7fff88661f19
#3  0x101e7984c
#4  0x101e7a8dd
#5  0x101e7b16f
#6  0x101e7cab3
Segmentation fault: 11

我担心主题标签符号对调试器意味着什么?可以使用gdbvalgrind来利用这些符号吗?如果是,如何回溯?

PS。有一个similar post @ tmyklebu说,您可以(或可能不)通过addr2line提供它们以获取函数名称和行号。但是他/她没有不知道怎么做。

1 个答案:

答案 0 :(得分:0)

  

我担心主题标签符号对调试器意味着什么?

这些消息没有被标记。这里#符号代表(帧)数字。

此外,没有理由将此输出提供给调试器。如果您在调试器下运行程序,然后使用(gdb) where命令,您将获得类似的输出,以及其他信息(符号名称,可能是文件/行信息)。但是既然你没有,你现在需要使用调试器以外的工具(例如addr2line)。