【Visual Leak Detector】源码编译 VLD 库

这篇具有很好参考价值的文章主要介绍了【Visual Leak Detector】源码编译 VLD 库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明

使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇介绍 VLD 源码的编译。同系列文章目录可见 《内存泄漏检测工具》目录

目录
  • 说明
  • 1. VLD 库的依赖文件
  • 2. 源码编译生成 VLD 库
  • 3. 配置环境变量
  • 4. 使用 VLD 库

1. VLD 库的依赖文件

vld2.5.1 版本为例,下载源码 后,源码包中各文件的用途可看本人另一篇博客 【VLD】源码文件概览。使用 vld2.5.1-setup.exe 安装 VLD 时(可参考 【VLD】安装 VLD),安装目录结构如下:

D:\Program Files (x86)\Visual Leak Detector
│  AUTHORS.txt
│  CHANGES.txt
│  COPYING.txt
│  unins000.dat
│  unins000.exe
│  vld.ini
│
├─bin
│  ├─Win32
│  │      dbghelp.dll
│  │      Microsoft.DTfW.DHL.manifest
│  │      vld_x86.dll
│  │      vld_x86.pdb
│  │
│  └─Win64
│          dbghelp.dll
│          Microsoft.DTfW.DHL.manifest
│          vld_x64.dll
│          vld_x64.pdb
│
├─include
│      vld.h
│      vld_def.h
│
└─lib
    ├─Win32
    │      vld.lib
    │
    └─Win64
            vld.lib

除了 unins000.datunins000.exe 外,一共 16 个文件。查看源码包中的文件 .\setup\vld-setup.iss 第 44~59 行,可知这 16 个文件的来源:

[Files]
Source: "dbghelp\x64\dbghelp.dll"; DestDir: "{app}\bin\Win64"; Flags: ignoreversion
Source: "dbghelp\x64\Microsoft.DTfW.DHL.manifest"; DestDir: "{app}\bin\Win64"; Flags: ignoreversion
Source: "dbghelp\x86\dbghelp.dll"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion
Source: "dbghelp\x86\Microsoft.DTfW.DHL.manifest"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion
Source: "..\src\bin\Win32\Release-v140\vld.lib"; DestDir: "{app}\lib\Win32"; Flags: ignoreversion
Source: "..\src\bin\Win32\Release-v140\vld_x86.dll"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion
Source: "..\src\bin\Win32\Release-v140\vld_x86.pdb"; DestDir: "{app}\bin\Win32"; Flags: ignoreversion
Source: "..\src\bin\x64\Release-v140\vld.lib"; DestDir: "{app}\lib\Win64"; Flags: ignoreversion
Source: "..\src\bin\x64\Release-v140\vld_x64.dll"; DestDir: "{app}\bin\Win64"; Flags: ignoreversion
Source: "..\src\bin\x64\Release-v140\vld_x64.pdb"; DestDir: "{app}\bin\Win64"; Flags: ignoreversion
Source: "..\src\vld.h"; DestDir: "{app}\include"; Flags: ignoreversion
Source: "..\src\vld_def.h"; DestDir: "{app}\include"; Flags: ignoreversion
Source: "..\vld.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\AUTHORS.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\CHANGES.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\COPYING.txt"; DestDir: "{app}"; Flags: ignoreversion
  • 【文件 1】安装目录文件 AUTHORS.txt 来自于源码根目录下同名文件。
  • 【文件 2】安装目录文件 CHANGES.txt 来自于源码根目录下同名文件。
  • 【文件 3】安装目录文件 COPYING.txt 来自于源码根目录下同名文件。
  • 【文件 4】安装目录文件 vld.ini 来自于源码根目录下同名文件。
  • 【文件 5】安装目录文件 .\include\vld.h 来自于源码目录 .\src 下同名文件。
  • 【文件 6】安装目录文件 .\include\vld_def.h 来自于源码目录 .\src 下同名文件。
  • 【文件 7】安装目录文件 .\bin\Win64\dbghelp.dll 来自于源码目录 .\setup\dbghelp\x64 下同名文件。
  • 【文件 8】安装目录文件 .\bin\Win64\Microsoft.DTfW.DHL.manifest 来自于源码目录 .\setup\dbghelp\x64 下同名文件。
  • 【文件 9】安装目录文件 .\bin\Win32\dbghelp.dll 来自于源码目录 .\setup\dbghelp\x86 下同名文件。
  • 【文件 10】安装目录文件 .\bin\Win32\Microsoft.DTfW.DHL.manifest 来自于源码目录 .\setup\dbghelp\x86 下同名文件。
  • 【文件 11】安装目录文件 .\bin\Win64\vld_x64.dllVisual Studio 2015Releasex64 模式编译源码生成。
  • 【文件 12】安装目录文件 .\bin\Win64\vld_x64.pdbVisual Studio 2015Releasex64 模式编译源码生成。
  • 【文件 13】安装目录文件 .\lib\Win64\vld.libVisual Studio 2015Releasex64 模式编译源码生成。
  • 【文件 14】安装目录文件 .\bin\Win32\vld_x86.dllVisual Studio 2015ReleaseWin32 模式编译源码生成。
  • 【文件 15】安装目录文件 .\bin\Win32\vld_x86.pdbVisual Studio 2015ReleaseWin32 模式编译源码生成。
  • 【文件 16】安装目录文件 .\lib\Win32\vld.libVisual Studio 2015ReleaseWin32 模式编译源码生成。

2. 源码编译生成 VLD 库

使用 Visual Studio 2015 打开源码根目录下的 vld_vs14.sln 或者 vld_vs14_wo_mfc.sln,当仅用于生成 VLD 库时,这两个解决方案的生成结果是一样的,详见本人另一篇博客 【VLD】源码文件概览。打开后,下拉构建配置框,可以看到有 6 种配置可供选择:DebugDebug_StaticCrtDebug_VldReleaseDebug_VldRelease_StaticCrtReleaseRelease_StaticCrt,他们的区别在于链接的运行库版本不同(详见 项目属性 -> C/C++ -> 代码生成 -> 运行库),以及是否启用优化。

【Visual Leak Detector】源码编译 VLD 库

打开 配置管理器,下拉查看不同的 活动解决方案配置,发现除 DebugDebug_StaticCrt 模式外,其余 4 种配置下 vld 的配置都为 Release。因此解决方案的配置选项选择除 DebugDebug_StaticCrt 外的 4 种都可以,不妨选择 Release

【Visual Leak Detector】源码编译 VLD 库

按下图步骤操作,生成 Win32 平台下的 VLD 库及 pdb 文件。

【Visual Leak Detector】源码编译 VLD 库

同样地,按下图步骤操作,生成 Win64 平台下的 VLD 库及 pdb 文件。

【Visual Leak Detector】源码编译 VLD 库

在生成目录 .\src\bin\Win32\Release-v140 下可以找到对应的 3 个文件:

【Visual Leak Detector】源码编译 VLD 库

同样地,在生成目录 .\src\bin\x64\Release-v140 下可以找到 Win64 平台的 3 个文件:

【Visual Leak Detector】源码编译 VLD 库

至此,VLD 安装目录下的 16 个文件已经全部具备,可以开始使用了。

3. 配置环境变量

由于没有使用 vld2.5.1-setup.exe 安装器,环境变量还需要自己来手动配置,将以上 16 个文件整理到一个目录下,最好依据前面的安装目录结构来进行整理,然后手动修改系统变量 Path,增加对应的 Win32 版本路径与 Win64 版本路径,例如:

D:\Program Files (x86)\Visual Leak Detector\bin\Win32
D:\Program Files (x86)\Visual Leak Detector\bin\Win64

4. 使用 VLD 库

VLD 库的使用方式可参考本人同系列文章:文章来源地址https://www.toymoban.com/news/detail-423052.html

  • 在 VS 2015 中使用 VLD。
  • 在 QT 中使用 VLD(方式一)。这一种使用方式的缺点是,当把项目拷贝到别的电脑上编译运行时,需要按特定流程重新配置 VLD 环境。但优点是在一台电脑上配置完成后,用的时候十分方便,包含头文件就可以使用,不需添加任何多余的代码。
  • 在 QT 中使用 VLD(方式二)。这一种使用方式的特点是,在一台电脑上安装完成后,需在项目 pro 文件中指明库及头文件的路径,然后在 mian.cpp 文件中 #include "vld.h"。当把项目拷贝到别的电脑上编译运行时,需要确保该电脑已经具备了 VLD 环境,并更改项目 pro 文件中指明的相关路径。
  • 在 QT 中使用 VLD(方式三)。这一种使用方式的特点是,在一台电脑上安装完成后,将 VLD 安装目录下的 lib 库及 include 文件拷贝到项目目录中,在项目 pro 文件中指明库及头文件的路径,并将 vld.ini 文件和 VLD 安装目录 bin 文件夹下的全部文件拷贝到项目生成目录下,最后在 mian.cpp 文件中 #include "vld.h"。优点是,当把项目拷贝到别的电脑上编译运行时,该电脑无需安装 VLD,也不需要更改任何代码。

到了这里,关于【Visual Leak Detector】源码编译 VLD 库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Visual Leak Detector】在 VS 2015 中使用 VLD

    使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。 同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 使用前的准备 2. 在 VS 2015 中使用 VLD 2.1 无内存泄漏时的输出报告 2.2 有内存泄漏时的输出报告 3. 无法正常使用的可能原因 参考本人另一篇博客 安装 Visual

    2023年04月15日
    浏览(31)
  • 【Visual Leak Detector】在 VS 高版本中使用 VLD

    使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。 本篇介绍如何在 VS 高版本中使用 vld2.5.1 。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 使用前的准备 2. 在 VS 2015 及更早版本中使用 VLD 3. 在 VS 高版本中使用 VLD 3.1 参考资料:在 VS 2017 中使用 VLD 3.2 参考

    2024年02月02日
    浏览(27)
  • 【Visual Leak Detector】VS 中 VLD 输出解析

    使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 使用方式 2. 输出报告 在 VS 中使用 VLD 的方法可以查看另外一篇博客:在 VS 2015 中使用 VLD。 在 VS 中使用 VLD 时的输出报告,与在 QT 中使用时是一致的,输出

    2023年04月15日
    浏览(34)
  • 使用Visual Leak Detector排查内存泄漏

    目录 1、VLD工具概述 2、下载、安装VLD 2.1、下载VLD 2.2、安装VLD 3、VLD安装目录及文件说明

    2024年01月16日
    浏览(36)
  • 使用Visual Leak Detector排查内存泄漏问题

    目录 1、VLD工具概述 2、下载、安装VLD 2.1、下载VLD 2.2、安装VLD 3、VLD安装目录及文件说明

    2024年02月07日
    浏览(32)
  • 【Visual Leak Detector】库的 22 个 API 使用说明

    使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇主要介绍 VLD 库提供的 22 个外部接口。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 头文件简介 2. 文件 vld_def.h 简介 3. 文件 vld.h 简介 3.1 接口 VLDDisable 3.2 接口 VLDEnable 3.3 接口 VLDRestore 3.4 接口 VLDGl

    2023年04月17日
    浏览(38)
  • 【Visual Leak Detector】源码下载

    使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇介绍 VLD 源码的下载。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 下载途径 2. 不同下载途径的源文件差异 以 v2.5.1 版本为例,可以到 Github-KindDragon-vld 页面下载 master 的 zip 源码包,如下所示: 也可

    2023年04月20日
    浏览(47)
  • 【Visual Leak Detector】源码文件概览

    使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇对 VLD 源码包中的各文件用途做个概述。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 整体概览 2. 文件夹 .teamcity 3 文件夹 lib 3.1 文件夹 cppformat(生成 libformat) 3.2 文件夹 dbghelp 3.3 文件夹 gtest(生成

    2023年04月22日
    浏览(40)
  • 【Visual Leak Detector】使用注意事项

    使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇介绍使用 VLD 时的注意事项。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 官网文档 2. 注意事项 可以在 Using-Visual-Leak-Detector 官方文档里看到如何使用 VLD,里面介绍了如何在 Visual C++ 2003/2005/2008/201

    2023年04月11日
    浏览(31)
  • 抖音seo矩阵系统源码|需求文档编译说明(一)

    ①产品原型 ②需求文档 ③产品流程图 ④部署方式说明 ⑤完整源码 ⑥源码编译方式说明 ⑦三方框架和SDK使用情况说明和代码位置 ⑧平台操作文档 ⑨程序架构文档 短视频矩阵系统源码开发锦囊囊括 前言 一、短视频账号矩阵系统开发者必备能力语言? 二、源码编译方式说明

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包