Debugging hashtaged错误消息在调试中有用吗?
我有时在执行fortran/C程序时会遇到错误消息。例如,在运行当前的fortran程序后,我在屏幕输出中得到以下消息Debugging hashtaged错误消息在调试中有用吗?,debugging,gdb,valgrind,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
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
我担心hashtaged符号对调试器是否有意义?可以使用gdb
或valgrind
利用这些符号吗?如果是,如何回溯
还有一点,@tmyklebu说,你可以(也可以不可以)通过addr2line向它们提供函数名和行号。但他/她不知道该怎么做
我担心hashtaged符号对调试器是否有意义
这些消息没有标记。这里的#
符号仅代表(帧)编号
此外,没有理由将此输出提供给调试器。如果您在调试器下运行该程序,然后使用(gdb)where
命令,您将获得类似的输出,以及其他信息(符号名称,可能是文件/行信息)。但由于您没有这样做,现在需要使用除调试器以外的工具(例如,addr2line
)