我正在调查我们的一个智能客户端应用程序中的GDI泄漏问题。 我正在寻找一个工具(如任务列表)来获取与进程关联的GDI对象。我可以在taskmanager中看到GDI对象,但是我要求在某个地方定期捕获它。例如,在文本文件中。
答案 0 :(得分:5)
编写程序以使用GetGuiResources API函数定期记录进程使用的GDI句柄数量应该非常简单。
答案 1 :(得分:5)
完全免费的Process Explorer(http://www.sysinternals.com)允许您以图形方式检查此操作以及与运行进程相关的其他许多方面。将“GDI对象”添加到要显示的列中,然后关闭并运行。
注意:Microsoft获得了他们的工具,我相信Mark Russinovich现在适用于Microsoft。 Sysinternals工具通常不需要任何安装,除了将它们复制到方便的地方,如果它们还没有,应该放在你的工具箱中。
答案 2 :(得分:3)
使用来自NirSoft的免费工具GDIView。
他们的描述:
GDIView是一个独特的工具,可显示每个进程打开的GDI句柄列表(画笔,笔,字体,位图等)。它显示每种类型的GDI句柄的总计数,以及每个句柄的详细信息。 此工具对于需要跟踪其软件中的GDI资源泄漏的开发人员非常有用。
您可以将GDI计数器列表保存为常规,制表符分隔,逗号分隔和表格文本文件,以及水平或垂直HTML文件或XML文件。