当我使用gfortran -g -fbacktrace -ffpe陷阱=无效,溢出编译我的代码,溢File.f90我得到以下错误:解释回溯错误信息
Program received signal SIGFPE : Floating - Point exception - erroneous arithmetic operation.
Backtrace for this error:
#0 0x7f3da0768ed7 in ???
#1 0x7f3da076810d in ???
#2 0x7f3d9fe9b7ef in ???
#3 0x7f3da0230a3e in ???
我的问题是:如何能我解释这些数字,并在“回溯这个错误:”之下。我如何使用此错误消息来帮助我找到错误?它们与某些有问题的代码行有关吗?如果是这样,怎么样?
截至目前我知道我有一个错误的算术运算错误,但我不知道在哪里和这个回溯错误消息根本没有帮助。如果我仅使用gfortran File.f90进行编译,则编译期间或运行期间根本没有错误消息。
我不知道FORTRAN,但是当我在其他语言中碰上离奇的消息是这样的地方是不明确的地方错误正在发生,我将遍布各地的'print'语句并查看最后一次打印的内容。这通常是在没有有用位置的情况下缩小范围的最佳方法。如果可用,调试器也是一个很好的选择。 – Carcigenicate
@Carcigenicate我已经做到了。谢谢! –
调试时,我通常禁用优化('-O0'),这样可以更容易地查看出错的地方。 – chw21