VS 内存泄漏检测

如果你擅长使用Windbg 或者BoundCheck ,呵呵 不用看我这个了,我只是一个刚出发的小菜鸟,不是菜牛,更不是奶牛。

方法:

stdafx.h里面加入:

#define _CRTDBG_MAP_ALLOC
#include<stdlib.h>
#include<crtdbg.h>

_CRTDBG_MAP_ALLOC 定义一定要加上,带上它可以让你明确的看到是哪个文件哪一行出现内存泄漏;

然后在工程的每个cpp文件的#include 部分之后加上:

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

程序的入口处加上

_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);

可以做个简单的测试:

在任意的cpp文件中,加入:char *temp = new char[10]; 或者 char *temp = (char *)malloc(10);

然后调试 查看调试信息即可看到内存泄漏信息。

--------------------------------------------------

不想把问题说的多深奥 多严重, 告诫自己要用最简单最通俗的话,解释一些问题,让不懂的人马上就能看懂,

才能说明自己真正理解了。

posted @ 2009-06-04 11:26  zhengzongzhao  阅读(984)  评论(0编辑  收藏  举报