从文本文件读取时,GDB调试器会在Fortran 90 READ命令上挂起

时间:2019-08-20 08:33:51

标签: fortran gdb gfortran

我使用以下命令将fortran文件编译为可执行文件(sei.exe)。

gfortran -g -fno-align-commons -c Creat2.for Bessel.for Kei.for
gfortran -g -fno-align-commons *.o D12e.for -o sei.exe

然后我通过输入来使用gdb调试器

gdb sei

然后我键入以下内容以使用文本文件输入来运行它

run < input.inp

它开始运行,但随后挂起。

我键入Ctrl-C来中断它,然后得到以下结果 Error

[New Thread 9052.0x42e4]
[New Thread 9052.0x32fc]
[New Thread 9052.0x5020]
[New Thread 9052.0x1d6c]
At line 408 of file Input.for (unit = 5, file = 'stdin')
Fortran runtime error: [New Thread 9052.0x5114]
End of file

Error termination. Backtrace:

Program received signal SIGINT, Interrupt.
[Switching to Thread 9052.0x5114]
0x762b1985 in KERNELBASE!CtrlRoutine () from C:\WINDOWS\SysWOW64\KernelBase.dll

当我中断它时,第408行即为行

READ (*,20) TITLE

这是该行周围的代码

      DO 1665 I=1, MAXTIT
         READ (*,20) TITLE
         IF (LEN_TRIM(TITLE) .EQ. 0)GOTO 1664
         READ (TITLE,FMT=30,ERR=1664)DUMY1, DUMY2, DUMY3, DUMY4,
 1                                   DUMY5, DUMY6, DUMY7, DUMY8

有什么想法如何停止它的挂起,并使其通过文件输入进行调试? 谢谢

0 个答案:

没有答案