Qt+VS环境使用VLD内存检查工具

Qt+VS环境使用VLD内存检查工具

一、VLD介绍

VLD(Visual Leak Detector)是一款用于Visual C++的免费的内存泄露检测工具。相比较其它的内存泄露检测工具,它在检测到内存泄漏的同时,还具有如下特点:

  • 可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号;

  • 可以得到泄露内存的完整数据;

  • 可以设置内存泄露报告的级别;

  • 它是一个已经打包的lib,使用时无须编译它的源代码。而对于使用者自己的代码,也只需要做很小的改动;

  • 他的源代码使用GNU许可发布,并有详尽的文档及注释。对于想深入了解堆内存管理的读者,是一个不错的选择。

  • VLD 内存检测工具,只能检测使用VC++编译器,不能用于检测MinGW编译器,所以要检测 Qt内存泄露问题编译器一定要是MSVC

  • VLD 版本要2.X以上 不能使用1.X的版本。否则检测不准确,Qt检测会提示很多内存泄露。

二、下载VLD

下载地址: https://kinddragon.github.io/vld/
Qt+VS环境使用VLD内存检查工具_第1张图片

三、安装VLD工具

  • 我下载的是VLD2.5.1版本,直接双击下载好的 vld-2.5.1-setup.exe文件。
  • 全程默认安装就行,我这里的安装路径是 D:\APP\vld\Visual Leak Detector
  • 安装好的目录底下如图所示
    Qt+VS环境使用VLD内存检查工具_第2张图片

四、Qt上使用VLD工具

  • 将“vld安装目录/lib/Win64"或者“vld安装目录/lib/Win32"(注意位数,根据你的Qt库位数确定)下的vld.lib拷贝到Qt默认的lib目录,就完成安装了。
    Qt+VS环境使用VLD内存检查工具_第3张图片
  • 复制vld安装目录下include文件夹中的文件vld.h和vld_def.h到qt安装目录的include文件夹中。
    Qt+VS环境使用VLD内存检查工具_第4张图片
  • 创建测试项目:使用Qt Creator创建一个Qt Widgets Application,要在Debug模式下运行
  • 在Qt项目的main函数前面加上 #include
  • 在main中加入语句MainWindow *aaa = new MainWindow();(内存泄漏点)
  • 项目存在内存泄漏,当程序退出时,会打印内存泄漏的信息
    Qt+VS环境使用VLD内存检查工具_第5张图片

你可能感兴趣的:(QT学习,qt,vs,内存泄漏,vld)