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

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

程序员文章站 2024-03-20 10:42:10
...

VLD安装:

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

点击下载安装器,

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


安装完成后,会自动将其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;
}

报告信息:

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

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

测试代码2如下:

#include <vld.h>

int main()
{
	auto* pData1 = new int;
	delete pData1;
	auto* pData2 = new int;
	delete pData2;
	return 0;
}

报告如下:

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