windows下的内存泄露检测才 VC++环境

近日一内存泄露找了很久,上网查资料发现这样个东东。。(转自http://www.cnblogs.com/chingliu/archive/2011/12/10/2288633.html,3Q)

Visual Leak DetectorVLD):用于Visual C++的免费的内存泄露检测工具,可从http://www.codeproject.com/tools/visualleakdetector.asp下载,该软件以库形式与被测工程一起使用,VLD是开源的,不必担心版权问题。

先从网站下载VLDzip包,当前最高版本是V1.0,解压后得到vld.hvldapi.hvld.libvldmt.libvldmtdll.libdbghelp.dll等文件,把这些所有.h头文件拷贝到VC默认的include目录下,将所有.lib文件拷贝到VC默认的lib目录下,安装工作就完成了。

使用VLD很简单,只须在包含入口函数的CPPC文件中最前面加入#include<vld.h>。如果当前工程定义预编译head文件(如stdafx.h),则放在“#include <stdafx.h>”语句之后。按Debug方式运行被测程序,等程序运行结束时,查阅VCoutput窗口,会有“Visual Leak Detector is now exiting.”一句打印信息,在这条件信息之前,如果当前程序没有内存泄露会有“No memory leaks detected.”信息打印,但如果有内存泄露,将有类似如下信息打印:

    C:\VcTester21\sample\vc6\SampleMain.c (80): main

    crt0.c (206): mainCRTStartup

    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle

  Data:

      CD CD CD CD    CD                    ........ ........

   

Visual Leak Detector detected 1 memory leak.

这个信息指明当前发生内存泄露所在的函数及源文件行号,泄露内存块的地址、长度及当前内存值。用鼠标双击指示源码行的提示信息,VC即自动跳转到相应代码行。

原文地址:https://www.cnblogs.com/mrpomelo/p/2731039.html