如何使用核心文件调试带有分段错误的信号

时间:2015-05-02 21:22:48

标签: c linux segmentation-fault core

我在执行目标文件(例如signaled with Segmentation fault)时得到aaa,该文件是通过链接.oC的多个.o文件生成的来自Fortran 90的文件。编译和链接过程中未报告任何错误。执行时,错误消息如下:

[0]0:Return code = 0, signaled with Segmentation fault

从索引[0]0[0]15以及[0]16[0]31相同,它说:

[0]16:Return code = 0, signaled with Interrupt

我发现计算崩溃后我得到了一个额外的core文件。我试着用

gdb aaa它说

This GDB was configured as "x86_64-suse-linux". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /mydirectory/aaa...done. (gdb)

很长一段时间没有响应,我按了ctrl+d

gdb aaa core然后提示

Reading symbols from /mydirectory/aaa ...done.

"/mydirectory/core" is not a core dump: File format not recognized (gdb)

我按ctrl+d停止并输入:

file core

它说

core: ELF 64-bit LSB core file x86-64, version 1 (SYSV)

接下来我该怎么办? 我在一个Linux (Suse)集群上工作,总共使用了120个核心。

我使用mpich以并行模式运行代码,在搜索某些gdb解决方案时,人们说gdbgcc debugger,而mpi一个人需要TotalView,但似乎TotalView适用于openmpi并且对mpich编译器没有任何说明。有没有其他方法可以解决这个问题? 我makefile的部分内容:

 ##target:

aaa: $(OBJ)        $(CC) $(OBJ) $(LDFLAGS) $(LFFLAGS) -o $@

.c.o:

$(CC) $(CFLAGS) $(INCLUDE_DIRS) $<

%.o: %.f90

   $(F90C) $(F90F) $(FFLAGS) $(INCLUDE_DIRS) $<
   @echo

CCmpich编译器(并行) F90Cgfortran

0 个答案:

没有答案