1、首先加入宏定义和头文件
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
2、在程序结尾处调用: _CrtDumpMemoryLeaks();
如果debug有内存泄露则会在编译器输出显示类似如下信息:
Detected memory leaks!
Dumping objects ->
{103} normal block at 0x004F5ED0, 4 bytes long.
Data: < > CD CD CD CD
Object dump complete.
请记住{}中的数(本例中为103);
3、在程序运行开始加入此句:_CrtSetBreakAlloc(103);然后debug运行,编译器会自动定位到产生内存泄露的地方,可能需要打开堆栈进一步确认内存泄露的位置。