【Visual Leak Detector】使用注意事项
  TYVKPVrvy5BM 2023年11月02日 59 0
C++

说明

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


1. 官网文档

可以在 Using-Visual-Leak-Detector 官方文档里看到如何使用 VLD,里面介绍了如何在 Visual C++ 2003/2005/2008/2010/2012/2013 中配置 VLD 的环境、如何使用 VLD。

2. 注意事项

v2.5.1 版本为例,使用时有以下几点需注意。

  • 只要在项目的其中一个文件中 #include "vld.h" 就够了,这个文件可以是 main 函数所在文件,也可以是其他依赖源码所在文件。多个文件包含其实也没什么影响,但可能不便于后期的代码维护。
  • 一般情况下,只要确保头文件 vld.h 是在预编译头文件(最典型的比如 stdafx.h)之后包含即可,相对于其他头文件来说,include 的顺序没什么影响。但当 stdafx.h 文件中有 #include <afxwin.h> 时,就需将 #include "vld.h" 放在 stdafx.h 文件里面,且要放在 #include <afxwin.h> 的前面,不然泄漏检测功能无法正常使用。
  • 如果要检测某个 DLL 动态链接库是否有内存泄露,最好的方法是在该 DLL 的源代码里面包含 vld.h 后重新打包,然后使用新生成的 DLL 库。另一种方法是修改配置文件 vld.ini 文件中的配置项 ForceIncludeModules,将要检测的 DLL 库名称写在等号右边,具体操作可见本人另一篇博客 配置项 ForceIncludeModules,但根据配置文件中的相关注释,ForceIncludeModules 功能开启后程序有崩溃的风险,因此第二种方法需慎用。
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  8Tw5Riv1mGFK   2024年05月01日   82   0   0 C++
  BYaHC1OPAeY4   2024年05月08日   58   0   0 C++
  yZdUbUDB8h5t   2024年05月05日   44   0   0 C++
  oXKBKZoQY2lx   2024年05月17日   61   0   0 C++
TYVKPVrvy5BM