lgwsrf 发表于 2007-4-29 14:47

求助:程序调试

程序段如下:
          DO 101 I=1,8
         DO 101 J=1,8
101       SME(I,J)=0.0D0

         用断点调试的时候显示i,j的值。当到达i=2,j=3 的时候,下一步突然
变成i=0,j=1,然后程序显示array bounds exceeded。到此程序中断。无法执行。
   前面的主程序和子程序程序调试都没有问题。没有编译和连接错误。
   定义的是dimension sme(8,8)
   求教:可能是什么问题啊?莫非跟前面的程序有关?
   谢谢!

[ 本帖最后由 xinyuxf 于 2007-4-29 15:51 编辑 ]

pengweicai 发表于 2007-4-29 15:44

DOI=1,8
         DOJ=1,8
      SME(I,J)=0.0D0
ENDDO
ENDDO

这样不行吗?

lgwsrf 发表于 2007-4-29 16:05

不行额。。。通不了。
烦死了,头都大了。。

欧阳中华 发表于 2007-4-29 18:35

.
    本身这段代码没有问题,可以单独试试肯定可以运行。

    那么依据经验就是你程序里有其他那里出现问题,这种问题最大可能是数组使用超界了,导致其他变量没有按照程序设计的去运行... .

    遇到问题,解决问题,就是提高的过程,天下那有事事都不费力的呀...

风花雪月 发表于 2007-5-5 20:49

DO 101 J=1,8

101       SME(I,J)=0.0D0

之间是否还存在其它代码?

lgwsrf 发表于 2007-5-9 10:04

感谢!

感谢各位高手的热心回复。
因为这几天一直在调程序,所以没有上论坛。
最后程序调试通过了。错误原因还是程序参数传递出现了错误。主程序和子程序以及实参和形参之间数据传递出了问题。
现在改好了。
再次感谢本版版主和各位热心的网友!
页: [1]
查看完整版本: 求助:程序调试