泄漏的 GDI 对象可以从任务管理器或Process Explorer中看到。(嗯,你看不到泄漏,但你可以看到对象使用计数是否持续上升。)
还有一些工具允许按类型查看 GDI 对象,例如GDIView [a]、DeLeaker、DPUS或GDIDebug(源代码)。
[a] 请注意,我认为GDIView是一个很好的工具,可以完成识别和确认存在的 GDI 泄漏的工作,但它并不能真正帮助您在大型应用程序中找到泄漏代码。(我还要在这里指出,该工具运行良好并且表现良好,尽管它的主页有点奇怪(-:)
还有一个名为leaktrap的WinDBG 插件,它使用MSs Detours Library。
我也知道(并且使用过)AQTime的资源探查器,它允许检测应用程序中的 GDI(和其他)资源泄漏,包括泄漏调用的堆栈跟踪。
现在,我的实际问题是:是否可以从 VC++ 调试器中检测到泄漏的 GDI 对象?这样就不需要单独的工具,并且可以在正常调试期间捕获 GDI 泄漏,而不必单独检查。