1.在http://vld.codeplex.com/ 下载安装
2.在vs2010中包含Visual Leak Detector的lib和include,还有把dll放入你的工程下
3.只要在包含入口函数的.cpp文件中包含vld.h就可以,在程序中加入#include <vld.h>
4.在程序中加入代码测试代码:
int *p = new int(0x12345678);
printf("p=%08x, ", p);
5.运行结果:
WARNING: Visual Leak Detector detected memory leaks!
---------- Block 57 at 0x003A89C0: 4 bytes ---------- --57号块0x003A89C0地址泄漏了4个字节
Call Stack: --下面是调用堆栈
d:/test/testvldconsole/testvldconsole/main.cpp (7): f --表示在main.cpp第7行的f()函数
d:/test/testvldconsole/testvldconsole/main.cpp (14): main –双击以引导至对应代码处
f:/rtm/vctools/crt_bld/self_x86/crt/src/crtexe.c (586): __tmainCRTStartup
f:/rtm/vctools/crt_bld/self_x86/crt/src/crtexe.c (403): mainCRTStartup
0x7C816D4F (File and line number not available): RegisterWaitForInputIdle
Data: --这是泄漏内存的内容,0x12345678
2.在vs2010中包含Visual Leak Detector的lib和include,还有把dll放入你的工程下
3.只要在包含入口函数的.cpp文件中包含vld.h就可以,在程序中加入#include <vld.h>
4.在程序中加入代码测试代码:
int *p = new int(0x12345678);
printf("p=%08x, ", p);
5.运行结果:
WARNING: Visual Leak Detector detected memory leaks!
---------- Block 57 at 0x003A89C0: 4 bytes ---------- --57号块0x003A89C0地址泄漏了4个字节
Call Stack: --下面是调用堆栈
d:/test/testvldconsole/testvldconsole/main.cpp (7): f --表示在main.cpp第7行的f()函数
d:/test/testvldconsole/testvldconsole/main.cpp (14): main –双击以引导至对应代码处
f:/rtm/vctools/crt_bld/self_x86/crt/src/crtexe.c (586): __tmainCRTStartup
f:/rtm/vctools/crt_bld/self_x86/crt/src/crtexe.c (403): mainCRTStartup
0x7C816D4F (File and line number not available): RegisterWaitForInputIdle
Data: --这是泄漏内存的内容,0x12345678
78 56 34 12 xV4..... ........
参考
http://blog.csdn.net/seawen/article/details/3714128
http://my.oschina.net/szm/blog/41894
http://blog.csdn.net/xinyaping/article/details/6751939