首页 > 解决方案 > Fortran 90 GDB 信号 SIGFPE,算术异常

问题描述

我正在尝试使用 GDB 进行调试,并且在尝试比较两个值时遇到算术错误。

第一个值在模块顶部设置为双精度,参数,public :: Dint = -1.D99

第二个值恰好是被调用子例程中的 inta = 102。

比较发生在子程序中,如 If (Inta /= int(Dint)) then

我尝试通过键入 p Dint 来查看 Dint 的值,但它说它不在当前上下文中。我怀疑它可能已被优化,或者可能需要某种语法才能在模块顶部查看变量。

我还怀疑尝试将此双精度转换为整数时可能存在问题,但我认为它在其他情况下也有效。

任何见解都可能会有所帮助。

标签: fortrangdbsigfpearithmeticexception

解决方案


推荐阅读