我对我的应用程序进行了一夜间压力测试,今天早上软件因Windows错误而崩溃。
发生错误是因为该进程明显超出了GDI句柄:
Process Explorer
任务管理器
接下来要弄清楚我正在泄漏哪种GDI资源(例如笔,画笔,位图,字体,区域,DC)。为此,我转向NirSoft的GDIView:
GDI可以处理什么,不是任何已知的GDI类型?
答案 0 :(得分:6)
答案是 GDI HFONT
处理。
这是一个Windows 8问题,GDIView无法显示字体句柄。
我用挂钩拦截每一个电话:
并记录每个句柄的创建,以及它允许的堆栈跟踪。最后,我可以报告任何取消删除字体。