Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gdb 程序接收信号SIGABRT(FORTRAN)_Gdb_Fortran - Fatal编程技术网

Gdb 程序接收信号SIGABRT(FORTRAN)

Gdb 程序接收信号SIGABRT(FORTRAN),gdb,fortran,Gdb,Fortran,我在运行反转脚本时遇到此代码问题。我已尝试使用gdb进行调试: Starting program: /home/milenko/fg77/f2/bin/inverse_2d INVERSE: calculate slowness update using LSQR and regularization open: No such file or directory apparent state: unit 48 named stop.in lately writing sequential fo

我在运行反转脚本时遇到此代码问题。我已尝试使用gdb进行调试:

Starting program: /home/milenko/fg77/f2/bin/inverse_2d
INVERSE: calculate slowness update using LSQR and regularization
open: No such file or directory
apparent state: unit 48 named stop.in
lately writing sequential formatted external IO

Program received signal SIGABRT, Aborted.
0x0012d422 in __kernel_vsyscall ()

看起来您的程序试图写入48单元上名为
stop.in
的文件,但遇到了问题。最可能的原因是,当执行WRITE语句时,该文件不存在,这反过来表明将该文件“附加”到单元48的OPEN语句未成功

编辑

您的代码段没有显示您检查了语句返回的错误代码

打开(48,文件='stop.in',状态='old')

我建议你加入iostat的争论,看看它能告诉你什么

进一步编辑


在我原始答复的第二句中,将“不存在”替换为“在程序预期的位置不存在”。

write(6335)335格式(“反向:”,+“使用LSQR和正则化计算慢度更新”)open(50,file='nowrite',status='old',err=9999,iostat=ioflag)9999 if(ioflag.gt.0)如果c打开(48,file='stop.in',status='old')读取(48,*),则io=0或io=51结束iistop@milenkomarkovic:请将代码编辑到您的问题中,而不是将其发布在评论中可能是最后一次写入成功,而“打开(48,file='stop.in',status='old')”失败?这仍然指出了问题在于缺少文件“stop.in”。“status=old”表示该文件应该已经存在。此文件是否在运行程序的目录中?我正在运行脚本,在反转之前创建stop.in_2d.stop.in:此文件由反转脚本自动创建和更新,并用于在某些情况下退出lambda上的内部循环中的程序。用户需要处理的唯一时间是在反转脚本之外运行一些代码,您需要编辑文件并将值设置为“0”。