视觉检漏仪不适用于 DLL 项目的检测

Visual Leak Detector doesn't work for DLL projects' detection

本文关键字:DLL 项目 检测 适用于 不适用 视觉      更新时间:2023-10-16

我的解决方案中有很多项目。其中一些是dll项目。我已将#include "vld.h"添加到"stdafx.h"文件中,该文件将包含在所有文件中。我在这行写了char* t = new char[100];它将在我启动应用程序时执行。但是VLD不起作用。输出窗口只显示没有泄漏。但是当我把#include "vld.h"放到一个静态项目中时,它工作了!我不知道为什么,也不知道该怎么处理?

你应该阅读使用说明:

https://vld.codeplex.com/wikipage?title=Using%20Visual%20Leak%20Detector& referringTitle =文档

在项目中使用VLD,请遵循以下简单步骤:

    在至少一个C/c++ (不是头文件)文件中,包括vld.h头文件。将include语句添加到哪个文件都无关紧要。它也不应该以什么顺序包含的头相对于其他头。唯一的例外是stdafx.h(或任何其他预编译头文件)。预编译的头文件,如stdafx.h,必须总是包含在源文件中的第一个头文件,所以vld.h必须包含在任何预编译的头文件之后。
  1. 如果你的程序包含一个或多个DLL,你也想检查内存泄漏,那么也包括vld.h至少一个源文件从每个DLL被包括在泄漏检测。
  2. 构建程序的调试版本