检查C++内存泄露
#ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #else #define DEBUG_CLIENTBLOCK #endif #define _CRTDBG_MAP_ALLOC #include <assert.h> #include <stdlib.h> #include <crtdbg.h> #ifdef _DEBUG #define new DEBUG_CLIENTBLOCK #endif ///此函数在程序入口处首先调用 ///会在output的窗口中输出检查结果 void CheckOnExit() { _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); int mCount = _CrtDumpMemoryLeaks(); assert( mCount == 0); } void main() { atexit(CheckOnExit); ... }
此外,还可以使用Visual Leak Detector这个工具来检测
http://vld.codeplex.com/
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。