循环运行进程出现GDI对象泄漏,GDIView显示“Other GDI”对象持续增长的问题求助
循环运行进程出现GDI对象泄漏,GDIView显示“Other GDI”对象持续增长的问题求助
各位大佬好,我碰到个头疼的问题想请教大家:
我有一个持续循环运行的进程,它会反复执行打开窗体、处理窗体内容、关闭窗体的操作。但运行一段时间后,进程就开始出现错误,最终直接崩溃了。
我查看任务管理器后发现,这个进程的GDI对象数已经快要达到10000的上限了,显然是存在GDI对象泄漏的问题。
之后我用GDIView.exe工具排查,发现“All GDI”列的数值一直在持续增长,但工具列出的各类具体GDI对象数量都很合理,没有出现增长的情况。
举个实际的例子:GDIView.exe显示“All GDI”对象有1782个,但其他具体类型的对象里,只有4个Bitmap、1个Region,剩下的类型数量都是0,绝大部分对象都被归类到了Other GDI里。
我还下载了一个名为DumpGdi.txt的脚本,原本想借助它在WinDbg中查看更详细的GDI对象计数信息,但现在不知道该怎么定位这些Other GDI对象到底是什么,也找不到泄漏的根源。有没有大佬能指点下这类问题的排查方法呀?
备注:内容来源于stack exchange,提问作者Paul Williams
相关产品推荐
相关产品推荐

