相关疑难解决方法(0)

如何异常停止fortran程序

当发生异常时,我想异常终止我的程序。现在,当发生异常时,会write调用带有解释语句的stop语句,然后调用语句。

我正在使用idb(intel debugger)调试程序,当异常发生时,我得到了该write语句,但idb将程序视为正常终止。我希望当异常发生时程序异常终止,以便我可以backtrace在异常发生的地方查看内存。

我尝试更改stopin stop 1,以便返回非零值,但这不起作用

编辑:

我已经在其中一个答案中实施了解决方案:

 interface
    subroutine abort() bind(C, name="abort")
    end subroutine
 end interface

 print *,1
 call abort()
 print *,2
end
Run Code Online (Sandbox Code Playgroud)

使用此解决方案时,我在使用时仍然没有得到任何回溯ifort 13.0.1,但这与ifort 14.0.2.

我求助于使用idb而不是gdb,因为后者通常无法读取fortran.

fortran fortran90

6
推荐指数
1
解决办法
2862
查看次数

标签 统计

fortran ×1

fortran90 ×1