Visual Leak Detector(VLD)的使用

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 18:49   1113   0

步骤如下:

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 即可。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP