代码在调试器中运行,但相同的可执行文件在正常运行时不会

问题描述

gfortran(在“minGW”下运行的 64 位窗口)似乎在 gdb 调试器中运行良好并产生合理的答案,但在没有调试器的情况下运行相同的可执行文件时会产生不同的结果或可能崩溃,这怎么可能? 通过放入大量临时写语句,揭示错误数字开始发展的地方:代码似乎错误地执行了简单的算术运算。 以前我遇到过这样的错误,是因为代码不知何故覆盖了自己在内存中的指令,因此出现了故障。这可能是由于某种未诊断的存储分配错误,导致保存在已声明数组范围之外的内容(例如,在首次声明数组的例程之外发生)。 是否有任何编译器开关可以帮助诊断此类事情? (我已经在使用 -fcheck=all,但也许这只会根据同一子例程中声明的边界检查子例程中的数组。) 可想而知,调试器外gfortran想用显卡,我的显卡出现故障了,老了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)