求教:VC++如何检测是否存在内存泄露??
RT
系统代码量有点大(含30多个类),
vs2008开发环境,
纯C/C++的(即不含MFC、数据库之类的);
只有三分之一的代码是我自己写
。。。
现在的任务是要排查代码是否存在内存泄露,
本人菜鸟,请各位支点招。。。(推荐一些工具或方法或建议)
非常感谢!!!
[解决办法]
http://blogold.chinaunix.net/u3/109695/showart_2188730.html
[解决办法]
google一下 Visual Leak Detector
很多类似的工具 检测内存泄露
[解决办法]
Visual Leak Detector
这个工具不错的
[解决办法]
你再单独创建一个线程,
while(1)
{
Sleep(10000);
// 用API GlobalMemoryStatus 记录内存状态
}
这样,通过查看记录,就可以知道是否存在内存泄露,
如果发现了,就屏蔽一些代码 ,再测试,如此反复,就可以了
[解决办法]
用专用工具,虽然提示得多了点,但范围缩得挺小了,比自己瞎忙活强
[解决办法]
不用啊。。。。VC里你程序直接关闭,假如有泄漏的话,就有提示的呀。。
比如你直接 char *p = new char[100]; 不释放 直接关闭就会有提示的呀。。
要是你的程序里是一直申请,到关闭的时候都正常释放的就不好搞了。。估计那些工具也不大管用吧。。
不过你可以把new给重载,然后做好统计,把哪个地方申请最多的,给打出日志看一下 。。。
[解决办法]
crt,vc自己的程序包就有这个能力
[解决办法]