回 帖 发 新 帖 刷新版面

主题:[讨论]求助FORTRAN在运行中出现应用程序错误

用FORTRAN编程时,编译没有警告也没有错误,但是在运行中出现了应用程序错误,不知该如何解决,还请各位能帮帮忙,在下感激不尽啊。具体错误为:
   forrt1:severe<157>:Program Exception-access violation
  "ox005173e8"指令引用的"0x00000001"内存,该内存不能为"written".

回复列表 (共14个回复)

沙发

访问无效内存?看着像是空指针的相对位置的使用。。。
你编译成Debug版本后,使用F5执行就能定位了:)

板凳

谢谢您,我按照您的方法试了,然后定位到我的程序的最开头,这个是说明我程序一开始就有问题的吗?

3 楼

最开头?是开头的什么语句?

4 楼

就是最开头的注释语句。。。。

5 楼

我点了F5后,界面出现这样的字:user breakpoint called from code at 0x7c92120e,然后我点击确定后,又点了下disassembly.回到原来程序界面,那个鼠标就在程序最前面的,即注释的最前面。

6 楼

对了,在那个运行界面上出现这样的话:
 Incrementally linked image--PC correlation disabled 
  请问这种情况又是因为哪里出了问题呢?谢谢您了。

7 楼

你调出Call Stack窗口看看呢?

8 楼

您好,我调出来后出现这样的代码,可是我看不明白。。。。
NTDLL! 7c92120e()
RADAR5! _FF_puterr + 49 bytes
RADAR5! _FF_puterr + 920 bytes
RADAR5! _matherr + 862 bytes
RADAR5! _87except + 318 bytes
RADAR5! _startOneArgErrorHandling + 41 bytes
RADAR5! sqrt + 164 bytes
RADCOR(INTEGER(4) 12, REAL(8) 0.000000000000000E+000, REAL(8) {...}, REAL(8) 2.50000000000000, REAL(8) 1.782376982252545E-152, INTEGER(4) 4481889, INTEGER(4) 4551193, INTEGER(4) 4481853, REAL(8) {...}, REAL(8) {...}, INTEGER(4) 0, INTEGER(4) 5075944, INTEGER(4) 0, INTEGER(4) 12, INTEGER(4) 12, INTEGER(4) 4539161, INTEGER(4) 4551348, INTEGER(4) 12, INTEGER(4) 0, INTEGER(4) ...) line
RADAR5(INTEGER(4) 12, INTEGER(4) 4481889, INTEGER(4) 4551193, INTEGER(4) 4481853, REAL(8) 0.000000000000000E+000, REAL(8) {...}, REAL(8) 2.50000000000000, REAL(8) 1.782376982252545E-152, REAL(8) {...}, REAL(8) {...}, INTEGER(4) 0, INTEGER(4) 5075944, INTEGER(4) 0, INTEGER(4) 12, INTEGER(4) 12, INTEGER(4) 4539161, INTEGER(4) 1, INTEGER(4) 12, INTEGER(4) 1, INTEGER(4) 4480902, ...) l
MAIN$CRANECONTROL3D() line 132 + 61 bytes
RADAR5! main + 73 bytes
mainCRTStartup() line 206 + 25 bytes
KERNEL32! 7c817077()


其中RADAR是我的程序的名字。从这个怎么看到自己的程序哪里出错了呢?还望热心人帮忙解答,谢谢您了。







9 楼

双击“RADCOR(INTEGER(4) 12, REAL(8)”这行,定位的就是你的程序出错的地方了:)
是开方时出错的。。。。

10 楼

您好,我按你说的方法试了,的确出现了绿色箭头所指的程序行,我还想请教下,之后的提示我还需要双击吗?因为我也试着双击了下,也出现了对应的语句,想问下这个出现的绿箭头所指的程序是不是也有问题呢?谢谢您了~

我来回复

您尚未登录,请登录后再回复。点此登录或注册