与 crtdbg 相比,Visual Leak Detector 不会打印任何泄漏

Visual Leak Detector does not print any leak compared to crtdbg

我已经为这个问题搜索了很多,但仍未找到解决方案。

我最近下载了 VLD 2.5 并从头开始编译,适用于 Visual Studio 2013 年和 2015 年。在我的项目中使用它之前,我认为我 运行 包提供的测试.但是所有的测试都失败了。

所有测试套件的行为相同,报告于 https://vld.codeplex.com/workitem/10617

MFC-Test 应用程序输出以下内容:

这里的要点是:CRT 检测到泄漏,应用程序分配的 CString 对象,VLD 没有。

我错过了什么?

找到了解决方法。全局标志是永久设置的。如果出现此类错误,您需要重置它们。

查看 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 并将 GlobalFlag 重置为 0(或使用 gflags.exe)。

干杯, 路易斯.