主题:[讨论]大家有没有遇到这个问题呢?请大侠 们帮帮忙...
scoot
[专家分:30] 发布于 2011-07-18 15:17:00
最近写了个比较大型的程序,调试运行都能成功,但就是每次运行时,程序只能迭代运行几步(我的程序每迭代一步大概需要半小时左右),然后程序就自动断掉了,最后显示的大概是这么一句“press any key to continue”。后来我没办法了,只好在程序中把每次迭代计算步的关键数据存为文件,等它断掉后,继续运行计算,这样的处理能够接着断点继续计算。哎...这个问题都困扰我好长时间了,一直都没得到解决。各位大虾们有没有遇到过这种类似的问题啊?这种问题怎么调试和处理才能让它一直能够迭代计算直到达到相应的收敛计算精度?
回复列表 (共28个回复)
21 楼
cgl_lgs [专家分:21040] 发布于 2011-07-23 15:27:00
堆溢出~~~
不過這個提示應該是調試器的堆溢出了。。。
你在子程序里申請內存了?
22 楼
scoot [专家分:30] 发布于 2011-07-24 08:34:00
有些子程序用了allocate语句,不会是这个出的问题吧?这几天一直在调试,发现小规模的计算完全可以一直算着直到收敛,但是稍稍把规模扩大一点,过2个多小时后就提示"pres any key to continue"
23 楼
adda [专家分:1520] 发布于 2011-07-24 13:40:00
原来还在用cvf啊?十几年的老古董了。
换ivf吧,后者的出错信息丰富的多
24 楼
cgl_lgs [专家分:21040] 发布于 2011-07-24 18:13:00
那分配后有没有对应的Deallocate呢?
25 楼
dongyuanxun [专家分:7180] 发布于 2011-07-24 18:46:00
无图无真相
无code无reproduce
26 楼
scoot [专家分:30] 发布于 2011-07-24 23:15:00
有deallocate,但是今天我全改了,没有用allocate了,刚刚出来的结果是,程序运行了接近3个小时还是一样出错了。明天我改用ivf试试。非常感谢您及各位大侠老师的热心帮助...
27 楼
scoot [专家分:30] 发布于 2011-07-24 23:16:00
您好,code代码很长,无法贴出来,请见谅...
28 楼
scoot [专家分:30] 发布于 2011-07-24 23:17:00
明儿我试试ivf看看,呵呵...
我来回复