Visual Leak Detector 2.5.1 (VLD)下载、安装与使用

目录

1 软件介绍

2 下载与安装

2.1 工具下载地址

2.2 工具安装

3 配置与使用

3.1 配置环境变量

3.2 配置vs

3.3 VLD的配置

4 测试代码与报告生成


1 软件介绍

Visual Leak Detector 2.5.1 (VLD)是一个小巧内存检测工具,是为Visual C++用户设计的。其特色为:

  1. 简单易用,只需要在需要进行内存泄漏检测的的主程序代码中加入#include "VLD.h“,并将编译好的Lib文件放入默认的库目录,然后在Visual C++用Debug模式编译运行程序,程序运行结束后便可在Visual C++的输出窗口看到内存泄露检测结果。
  2. 通过宏定义控制测试行为,如报告的详略等。
  3. 支持Windows X64。
  4. 检测报告很直观,甚至能显示泄漏内存的内容

2 下载与安装

2.1 工具下载地址

Visual Leak Detector 官网下载地址:Visual Leak Detector | Enhanced Memory Leak Detection for Visual C++,点击 Download Installer 绿色按钮可下载工具的安装程序 vld-2.5.1-setup.exe。

也可去 Git 仓库 releases 界面 下载安装程序 vld-2.5.1-setup.exe

还可以使用国内的网络资源下载:百度网盘-vld-2.5.1-setup.exe。

2.2 工具安装

点击next

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第1张图片

继续点击next

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第2张图片

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第3张图片

勾选三个,然后点击next

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第4张图片

确认自己的设置,确认一下,需要修改则点击Back返回修改,否则点击install进行安装。

注意:安装前需要关闭Visual Studio

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第5张图片

安装完成后的目录结构:

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第6张图片

3 配置与使用

3.1 配置环境变量

找到Visual Leak Detector的安装目录,复制路径,把路径配置到环境变量中。Vld支持32位和64位,以防万一我们都配置上。

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第7张图片

3.2 配置vs

打开vs,我这里使用的是vs2017,根据自己版本进行配置。

选择主工程,右键打开属性界面,找到“配置属性-VC++目录-包含目录/引用目录

配置Visual Leak Detector的lib和include目录,如图所示。

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第8张图片

找到“配置属性-C/C++-预处理器-预处理器定义“,点击”编辑“进入编辑框,输入【_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING】,点击确定保存,如图所示

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第9张图片

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第10张图片

VLD默认在程序结束后生成报告,默认生成得报告显示在调试窗口和输出窗口中,在“配置属性-链接器-调试-生成调试信息”下拉选项框中选择【生成经过优化以共享和发布的调试信息(/DEBUG:FULL)】,如图所示

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第11张图片

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第12张图片

3.3 VLD的配置

使用的时候需要把以下几个选中的文件复制到工程中,如图所示

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第13张图片

3.2说到可以在调试窗口和输出窗口显示调试信息,但也可以让调试信息输出到文件中,看的时候更加清晰明了。

上图中的vld.ini便可以进行配置。

ReportTo默认为debugger,意思是输出到调试窗口,改为file就输出到文件中了,通过ReportFile配置文件生成得位置,如图所示

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第14张图片

  • 在对于debug下文件中添加#include "vld.h"#pragma comment(lib, "vld.lib")便可使用VLD了
  • 如果是release版本,还需要添加在#include "vld.h"前加一条#define VLD_FORCE_ENABLE,否则将不能进行内存泄漏的检测

4 测试代码与报告生成

可以用以下代码进行测试:

#include 
#include 
#include 
#include "vld.h"

#pragma comment(lib, "vld.lib")

using namespace std;

int main()
{
    cout << "start" << endl;
    static int *a = new int;
    int *arr = new int[10];
    int aaa = 10;
    //delete a;
    cout << "end" << endl;

    return 0;
}

编译完成点击F5启动进程,如图所示

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第15张图片

查看报告,可以看到有几处内存泄露,并且定位到内存泄露点的代码行,如图所示:

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第16张图片

进入代码中查看,可以看到这两行没有被释放

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第17张图片

手动释放一下再测试,可以看到已经没有内存泄露的地方了:

Visual Leak Detector 2.5.1 (VLD)下载、安装与使用_第18张图片 

你可能感兴趣的:(C++,开发语言,c++,vs2017,vld,内存泄露)