2016-08-17 26 views
0

我已经搜索了很多这个问题,但可以找到它的解决方案。视觉泄漏检测器不会打印任何泄漏相比crtdbg

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

的一点是:

所有测试套件,在https://vld.codeplex.com/workitem/10617

的MFC-测试应用程序报告相同的行为输出以下CRT检测到泄漏,被分配的CString对象应用程序,VLD不。

我缺少什么?

+1

它可能是在程序初始化时分配的数据,并且在CRTDBG打印输出后发布它的整个程序的生命周期。即一个误报。 VLD稍后可能会有它的挂钩,因此可以看到发布,或者可能知道这种特殊情况,而不报告它? –

+0

不,这“可能”是一个问题,但肯定**新**是在VLD初始化后完成的。 VLD修补了crt的所有入口点,我早上调试过它。但问题是,空闲块不计算在内。它看起来像VLD中的问题,但我不知道在哪里。 – roalter

+0

你能提供[mcve]吗?它可以帮助其他人想要重现你的问题。 – Yakk

回答

0

找到它的解决方案。全球标志永久设置。如果出现这种错误,您需要重置它们。

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

干杯, luis。