打印

内存泄露问题

[复制链接]
938|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dfsa|  楼主 | 2013-8-28 19:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
无冕之王| | 2013-8-28 19:21 | 只看该作者
网上找一下,很多工具的。

使用特权

评论回复
板凳
baidudz| | 2013-8-28 19:50 | 只看该作者
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!

使用特权

评论回复
地板
秋天落叶| | 2013-8-28 20:03 | 只看该作者
内存分配,在程序设计上是个漫长的话题。

我一般不太喜欢依靠分析工具来去解决这个问题。

这需要点特殊的方式。一般我们会用内存池去解决。这跟传统的new和delete背道而驰。

内存池一般用页分配方式。这样,你说的4种情况,只会变成1种情况。要么系统稳定在某个内存标准。要么就会疯狂的暴涨。

由于内存池的粒度非常的大,你可以在上面写一些分析工具,而不影响系统的正常运行。有时候小粒度分析会让系统性能暴降,完全看不懂应该发生的问题。当然,使用这种方式,你就别指望程序里出现new和delete了。有时候,真是有点矛盾。

使用特权

评论回复
5
无冕之王| | 2013-8-29 19:49 | 只看该作者
这个网上应该有很多这样的教程

使用特权

评论回复
6
yybj| | 2013-8-29 20:03 | 只看该作者
内存泄露是C++编程很容易犯的错误

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝