码迷,mamicode.com
首页 > 编程语言 > 详细

检查C++内存泄露

时间:2015-04-20 16:37:27      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

#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/

检查C++内存泄露

标签:

原文地址:http://www.cnblogs.com/gisair/p/4441617.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!