我正在开发一个项目,我需要在某个时候使用别人的代码。
然而,我跑的测试给我带来了奇怪的结果。在一个操作系统上,代码似乎运行正常,但另一方面似乎存在问题。
我试图追踪问题并找到一个循环,通过添加write
语句可以解决问题。我怀疑内存损坏,所以我做了以下事情:
假设在循环中访问了3个变量:
integer a(100),b(100),c(100)
我添加了1个变量
integer a(100),b(100),dummyvar,c(100)
然后我在代码的第一行设置dummyvar
到0
。当我在程序结束时打印dummyvar
时,程序末尾的dummyvar
值是变量c
的最后一个值。这些代码太长,无法找到导致此问题的原因。
到目前为止,我已经尝试过:
-fpe0 -traceback
等... 在向我的主管报告之前我需要知道的是:在一个设置中但是在另一个设置中没有代码失败意味着代码存在问题吗?或者它可能以某种方式与库,操作系统等相关?
代码“似乎”正常运行的设置是:
代码失败的设置是:
最后,尽管版本不同,但GNU编译器在两台计算机上都能正常工作。