内存泄露&&资源泄漏及解决

new/malloc的,不释放,是内存泄露,
COM接口不Release的,是内存泄露。
创建的线程,Socket,GDI对象等,不close是资源泄露。


使用工具:

1)BoundsChecker :(http://www.compuware.com/)(首选BoundsChecker)
应该说是功能最强,使用只需要open需要测试的exe,然后start就可以了,
  可以通过检测结果定位到源代码中有内存泄露的代码行。
2)Purifyplus (http://www.ibm.com)
3)Memory Validator(http://www.softwareverify.com/index.html)
应该说是功能也比较强,使用只需要start application wizard的start exe就可以了,
可以通过检测结果定位到源代码中有内存泄露的代码行。

4)其实以上工具还可以进行其他的各种检测,提高代码的健壮性!


采取手动:
1  
 Visual Studio 调试器和 C 运行时 (CRT) 库为我们提供了检测和识别内存泄漏的有效方法。
主要使用函数:_CrtDumpMemoryLeaks();
2
使用MFC提供的功能来检测内存泄露。
3
简单的对内存的分配和释放跟踪,并将结果输出到console

它也是一般C++内存泄露的检测原理,来自C++编程思想
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值