Service 目视检漏仪能否排除假阳性内存泄漏?

Service 目视检漏仪能否排除假阳性内存泄漏?,service,memory-leaks,visual-leak-detector,Service,Memory Leaks,Visual Leak Detector,比如说,我现在使用可视泄漏检测器(VLD)来检查服务应用程序中的内存泄漏。而且,由于大量内存分配发生在静态对象中,所以我只是想知道,VLD能否排除这些误报内存泄漏(它不应该被视为真正的内存泄漏) 非常感谢经过一些调查后,我发现这个VLD不能排除那些假阳性内存泄漏(例如静态对象中的新内存泄漏),因为它在其VLD.dll中也使用了一个全局静态对象,并且它的dtor将报告可能的内存泄漏。由于无法确保它们的析构函数序列,所以无法使用VLD检测静态对象中的内存泄漏 但是,我也找到了一个旁路解决方案,因为您

比如说,我现在使用可视泄漏检测器(VLD)来检查服务应用程序中的内存泄漏。而且,由于大量内存分配发生在静态对象中,所以我只是想知道,VLD能否排除这些误报内存泄漏(它不应该被视为真正的内存泄漏)


非常感谢

经过一些调查后,我发现这个VLD不能排除那些假阳性内存泄漏(例如静态对象中的新内存泄漏),因为它在其VLD.dll中也使用了一个全局静态对象,并且它的dtor将报告可能的内存泄漏。由于无法确保它们的析构函数序列,所以无法使用VLD检测静态对象中的内存泄漏

但是,我也找到了一个旁路解决方案,因为您可以修改此工具的源代码,您可以使用atexit在您的ctor中注册reportMemoryLeak函数,以确保在dtor之后调用此方法

坦率地说,这真的没有那么直接,所以看这个 使用windbg+DebugCRT堆就可以了