WINDOWS下内存泄漏检测工具VLD(Visual Leak Detector)的使用

本文介绍了如何在Windows环境下利用Visual Leak Detector (VLD)工具进行内存泄漏检测。首先,通过链接提供的地址下载并安装VLD,安装过程会自动配置VS的附加目录。在使用时,只需在main函数所在CPP文件中包含`<vld.h>`,运行程序后退出,VLD会在输出窗口生成检测报告。注意,`#include stdafx.h`在前则`#include <vld.h>`需在其后,并且VLD仅在Debug模式下有效。若要将日志保存到文件,需将vld.ini复制到可执行文件目录并修改相应设置。通过两个测试代码示例,展示了VLD如何报告内存泄漏情况。

WINDOWS下内存泄漏检测工具VLD(Visual Leak Detector)的使用

VLD安装:

https://kinddragon.github.io/vld/

点击下载安装器,

安装完成后,会自动将其include目录添加到VS的附加安装目录,将其静态库目录(lib目录)添加到VS的附加库目录,

无需手动添加include目录和lib目录

VLD使用:

通常在main函数所在的CPP文件中include<vld.h>即可

运行程序,退出后产生检测报告

注意事项:

1 如果有include"stdafx.h",则include <vld.h>放在其后,否则放在最前面
2 VLD只在debug版本有效
3 如果想将产生的日志保存到文件中,需要将vld.ini(VLD安装目录下)复制到可执行文件目录下,
然后作如下修改:
ReportFile =.\memory_leak_report.txt

ReportTo = both

检测报告:

测试代码1如下:

#include <vld.h>

int main()
{
auto* pData1 = new int;
auto* pData2 = new int;
return 0;
}
报告信息:

报告中显示了有两处内存泄漏,这是在VS中的输出窗口(CTRL + ALT + O)中,双击对应行即可定位到内存泄漏处

测试代码2如下:

#include <vld.h>

int main()
{
auto* pData1 = new int;
delete pData1;
auto* pData2 = new int;
delete pData2;
return 0;
}
报告如下:

————————————————
版权声明:本文为CSDN博主「xupeng1644」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xp178171640/article/details/80828530

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值