欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Visual Leak Detector (VLD)使用

程序员文章站 2022-04-19 07:58:09
...

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