Visual Leak Detector(VLD)的使用

本文详细介绍如何通过Visual Leak Detector(VLD)工具检测C/C++应用程序的内存泄漏问题。包括VLD的安装、配置步骤,以及如何在项目中启用VLD进行内存泄漏检测。文章还解释了vld.ini配置文件的作用,并提供了示例代码展示VLD的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

步骤如下:

1、安装vld,比如: vld-2.5.1-setup.exe。都用默认选项安装即可。默认安装目录是:C:\Program Files (x86)\Visual Leak Detector。另外,默认选项会把VLD加入环境变量和VS的全部工程的附加库中。

 

2、如果工程的附加库中没有引入就手动配置一下,在工程的属性下面的附加库中引入安装目录:C:\Program Files (x86)\Visual Leak Detector\lib\Win64;或者C:\Program Files (x86)\Visual Leak Detector\lib\Win32; 具体是Win64还是Win32要根据自己项目工程的解决方案平台来确定。

 

3、

工程的main 中: #include <vld.h>,比如:

#ifdef _WIN32

#include <vld.h>

#endif

 

4、vld.ini 配置文件中打开 开关 ,VLD = on

 

5、演示代码:

int main(){

int *a = new int;//申请内存,不进行释放

return 0;

}

结果如下图:

 

 

PS

=============

1、

vld.ini 的几项配置说明:

VLD:选择VLD的打开与关闭。在Debug模式下运行,关闭以后会有一行VLD关闭的提示信息。默认为 on。

AggregateDuplicates:设置为 yes 时,相同地方产生内存泄漏只输出一次,但是会统计发生的次数。默认是 no 。

MaxDataDump:输出的dump数据个数,默认为 256。

MaxTraceFrames:输出的调用栈的层数。默认是 64。

ReportEncoding :report 文件的编码格式,可选有 ascii, unicode,默认是 ascii 。

ReportFile :report 文件的路径。默认是 “.\memory_leak_report.txt”

ReportTo :可选有 debugger, file, both,debugger 表示输出到 debug模式下的输出窗口;file 表示只输出到文件中; both顾名思义,全都都输出。默认是 debugger 。

 

2、

默认读取的是安装目录下的vld.ini 文件,当exe所在目录下也有vld.ini文件时会优先读取这份配置。

 

3、疑问:怎么让VLD的文件输出到一个独立的文件中?

答:配置 ReportFile = .\helloWord_vldLog.txt 和 ReportTo = both 即可。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值