可以从任务管理器或Process Explorer看到泄漏的GDI对象。 (嗯,你没有看到泄漏,但你可以看到对象的数量是否持续上升。)
还有一些工具可以按类型查看GDI对象,例如GDIView [a],DeLeaker,DPUS或GDIDebug (sourecode)。
[a]请注意,我认为GDIView是一个很好的工具,可以完成识别和确认存在GDI泄漏的工作,但它并没有真正帮助您在大型应用程序中找到泄漏的代码。 (我还会在这里注意到这个工具效果非常好,看起来表现得很好,虽然它的主页很奇怪( - :)
还有一个名为leaktrap的WinDBG插件,它使用MS Detours Library。
我也知道(并使用过)AQTime的资源分析器,它允许检测应用程序中的GDI(和其他)资源泄漏,包括泄漏调用的堆栈跟踪。
现在,我的实际问题是:是否可以从VC ++调试器中检测泄漏的GDI对象?因此,不需要单独的工具,并且可以在正常情况下捕获GDI泄漏调试,不必单独检查。
答案 0 :(得分:7)
GDI对象不必单独检查(非真实),他们可以负责Deleaker - 你会知道泄漏的位置。请仔细阅读说明并观看演示视频:http://deleaker.com/
答案 1 :(得分:3)
Intel Parallel Inspector是一个内存泄漏检查程序,它集成到Visual Studio中,可以检测GDI泄漏。
答案 2 :(得分:0)
Visual Studio没有针对非托管应用程序的内置内存分析器。
这已得到证实。