dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

>> Fortran语言开发经验交流
搜一搜相关精彩主题 
Fortran中文网Fortran中文网—Fortran语言经验交流Fortran语言开发经验交流 → 程序运行出现奇怪问题

您是本帖的第 4251 个阅读者
平板 打印
标题:
程序运行出现奇怪问题
acely624
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:2
积分:243
门派:无门无派
注册:2008年8月6日
 用支付宝给acely624付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给acely624

发贴心情
程序运行出现奇怪问题
本人使用cvf6.6版fortran console application做工程实现了一个循环次数较大的程序,但运行没有达到最大循环次数就结束了,且运行前后均未提示有任何问题及警告。
调试表明:
问题出现在下面这一段上
        DR=4D0*R
        LLF=DINT((X0(I)-DR)/C)          
        LRG=DINT((X0(I)+DR)/C)
        LFR=DINT((Y0(I)-DR)/C)
        LBA=DINT((Y0(I)+DR)/C)
        IF(LBA.GE.IDY) LBA=IDY-1
        IF(LRG.GE.IDX) LRG=IDX-1
        IF(LFR.LT.0) LFR=0
        IF(LLF.LT.0) LLF=0
            DO LX=LLF,LRG
                DO LY=LFR,LBA
                    IB=LY*IDX+LX+1
                    J=NCL(IB)
      
                    IF(J.LE.0) CYCLE
                    IF(I.LE.J) CYCLE
                    ALLOCATE(CTP)
                    CTP%LPP=J
                    CTP%NEXTP=>LCP(I)%ENDP
                    LCP(I)%ENDP=>CTP
                END DO
            END DO
进一步调试,发现问题出现在这句上:ALLOCATE(CTP)
程序段是大循环的一部分,大循环设定循环次数10 000 000次,在运行了4146380次后,程序在ALLOCATE(CTP)此句结束大循环并终止程序,且无任何错误提示
程序运行时,cpu使用率50%-60%,内存使用了400M左右,其中该程序使用了50M,且每隔一定时间会将链表释放掉;开机时句柄数8000~8500,程序运行中句柄一直未超过9500
电脑配置:cpu双核1.8G,内存1G
测试:用ALLOCATE建立链表,发现内存+虚拟内存3G分配掉2.8G时程序仍然运行良好,之前的程序内存仅使用400--500M,因此可排除内存分配超额的问题
ip地址已设置保密
2010/8/11 10:43:23

网上贸易 创造奇迹! 阿里巴巴 Alibaba
Powered By Dvbbs Version 7.1.0 Sp1
Copyright ©2005 - 2008 www.fortran.cn
页面执行时间 0.07813 秒, 5 次数据查询
京ICP备05056801号