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

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++编程思想

你可能感兴趣的:(socket,application,mfc,exe,工具,wizard)