关于程序内存一直增加的问题

weileCNM 2013-03-21 02:14:21
写个要24小时运行的程序,可是发现每过几分钟内存会增加4KB,在网上查了不少关于内存泄露的资料,可是还是找不到内存泄露的原因,用到的new都跟着free释放掉了,CDC的几个句柄也释放掉了。用了visual Leak Detector这个软件检测,也没找出问题,后来我新建了一个空的对话框程序,发现内存也是在增加,增加的速度和我写的程序差不多,这是什么原因?
...全文
539 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuh421 2013-03-24
  • 打赏
  • 举报
回复
用到的new都跟着free释放掉了 看到这个句话, 可能大家都 笑而不语了 还有, 虽然你都跟了 释放 , 假设new, 你对应delete了, 还有 对于数组的释放, 你使用delete[]了吗. 内存一真增长, 问题应该是出在某个会不停申请内存的地方, 具体跟踪下, 可能有不能释放内存的分支存在. 注意使用RAII. 对于长期运行的程序, 尽量避免动态申请内存, 因为会产生内存碎片, 虽然内存很多, 但却分配不到内存了. 如果不能避免内存的动态申请, 那么考虑使用内存池.
cwj2009 2013-03-24
  • 打赏
  • 举报
回复
认真的去跑半天或者一天看看吧。有时候一些局部变量你没来得及释放呢。
lxw_it 2013-03-24
  • 打赏
  • 举报
回复
如果使用多线程,有可能线程会被挂起.... 我曾经一口气创建了200个休眠线程,然后同时唤醒,结果发现有些线程竟然唤不醒就死掉了。。。 资源就浪费掉了。 这种情况的话就用多进程,进程关了就好了。
oyljerry 2013-03-21
  • 打赏
  • 举报
回复
如果代码都扫描过了,没明显的泄漏地方,那么就让它长期跑一下,看是否一直泄漏
weileCNM 2013-03-21
  • 打赏
  • 举报
回复
可是这样感觉很不放心啊,这个内存只增加,不会减少,不知道这程序能不能坚持跑半个月啊
LuciferStar 2013-03-21
  • 打赏
  • 举报
回复
有时候你以为有泄露,其实没有。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧