Visual Leak Detector (VLD)使用

祁乐邦
2023-12-01

Visual C++内置内存泄露检测工具,但是功能十分有限。VLD就相当强大,可以定位文件、行号,可以非常准确地找到内存泄漏的位置,而且还免费、开源

在使用的时候只要将VLD的头文件和lib文件放在工程文件中即可。

也可以一次设置,新工程就不用重新设置了。只介绍在Visual Studio 2003/2005中的设置方法,VC++ 6.0类似:

  1. 打开Tools -> Options -> Projects and Solutions -> VC++ Directories;
  2. 然后点击include files下拉列表,在末尾把VLD安装目录中的include文件夹添加进来;

  3. 同样点击lib下拉列表,把VLD的lib也添加进来;
  4. 在需要检测内存泄漏的源文件中添加
    #include “vld.h”

    顺序无所谓,但是一定不能在一些预编译的文件前(如stdafx.h)。我是加在stdafx.h文件最后。

  5. 把安装目录下dll文件夹中的所有dll文件拷贝到工程Debug目录,也就是Debug版.exe生成的位置。点击Debug –> Start Debugging 调试程序,在OUTPUT窗口中就会显示程序运行过程中的内存泄漏的文件、行号还有内容了。
注:VLD只能在Windows下使用,在包含vld.h头文件时增加预编译选项。
注:在Release模式下,不会链接VisualLeak Detector
注:Visual LeakDetector有一些配置项,可以设置内存泄露报告的保存地(文件、调试器),拷贝"\Visual Leak Detector"路径下的vld.ini文件到执行文件所在的目录下(在IDE运行的话,则需要拷贝到工程目录下),修改以下项:

ReportFile =.\memory_leak_report.txt

ReportTo = both


 类似资料: