泄漏的GDI对象可以从任务管理器或Process Explorer中看到。(您看不到泄漏,但您可以看到对象使用量是否持续增加。)
还有一些工具可以按类型查看GDI对象,例如GDIViewa、DeLeaker、DPUS或GDIDebug (sourecode)。
注意,我认为GDIView是一个很好的工具,可以完成识别和确认存在的GDI漏洞的工作,但它并不能真正帮助您在大型应用程序中找到泄漏的代码。(我还将在这里指出,该工具运行得非常好,似乎表现良好,尽管它的主页有点奇怪(-:)
还有一个名为leaktrap的WinDBG插件,它使用了MSs Detours Library。
我还知道(并使用过)AQTime的Resource Profiler,它允许检测应用程序中的GDI (和其他)资源泄漏,包括泄漏调用的堆栈跟踪。
现在,我的实际问题是:是否有可能从VC++调试器中检测泄漏的GDI对象?因此,人们不需要单独的工具,GDI泄漏可以在正常调试期间被捕获,而不需要单独检查。
发布于 2011-11-16 00:25:19
GDI对象不需要单独检查(不需要),它们可以由Deleaker负责--你就会知道哪里出了问题。请仔细阅读说明并观看演示视频:http://deleaker.com/
发布于 2010-12-01 18:01:00
Intel Parallel Inspector是一个集成到Visual Studio中的内存泄漏检查器,可以检测GDI泄漏。
发布于 2010-12-01 18:04:34
Visual Studio没有针对非托管应用程序的内置内存探查器。
这一点得到了证实。
https://stackoverflow.com/questions/4322840
复制相似问题