免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2858 | 回复: 5
打印 上一主题 下一主题

大型C++程序内存泄漏查找方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-04 17:21 |只看该作者 |倒序浏览
用valgrind会是程序跑起来巨慢,大家有什么其他的办法吗?

论坛徽章:
0
2 [报告]
发表于 2012-05-04 17:56 |只看该作者
看看内存分配器提供什么检测。或者自己替换全局内存管理器c++全局替换new/delete,c库看看类似preload环境变量。

论坛徽章:
0
3 [报告]
发表于 2012-05-05 10:38 |只看该作者
拆开成小块,分块排除,所谓divid and conqure

论坛徽章:
0
4 [报告]
发表于 2012-05-05 12:02 |只看该作者
我经常折腾这方面的调试与优化,但目前没有好的办法,一直使用的方法就是用二分法拆成局部进行排查,但改代码,加入调试信息这些避免不了。


------------------------------------
欢迎光临我的博客:www.danoking.com [DNK的生涯|IT人的故事]

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
5 [报告]
发表于 2012-05-05 16:49 |只看该作者
valgrind,不是很慢

论坛徽章:
0
6 [报告]
发表于 2012-05-05 17:01 |只看该作者
楼上,valgrind是挺慢的。

接受不了valgrind这种工具,也可以自己写代码来查内存泄漏,把malloc之类的换掉或重载new/delete,分配后用链表保存,同时记录函数调用栈,释放从链表删除,结束时,把结果写到文件中,这也不难的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP