我在执行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
我担心主题标签符号对调试器意味着什么?可以使用gdb
或valgrind
来利用这些符号吗?如果是,如何回溯?
PS。有一个similar post @ tmyklebu说,您可以(或可能不)通过addr2line提供它们以获取函数名称和行号。但是他/她没有不知道怎么做。
答案 0 :(得分:0)
我担心主题标签符号对调试器意味着什么?
这些消息没有被标记。这里#
符号代表(帧)数字。
此外,没有理由将此输出提供给调试器。如果您在调试器下运行程序,然后使用(gdb) where
命令,您将获得类似的输出,以及其他信息(符号名称,可能是文件/行信息)。但是既然你没有,你现在需要使用调试器以外的工具(例如addr2line
)。