如何捕获(并希望修复)GDI资源泄漏

时间:2009-05-15 15:13:19

标签: c# user-interface gdi resources memory-leaks

我的应用程序在运行6小时后记录异常:

操作系统版本:Microsoft Windows NT 5.1.2600 Service Pack 3(5.1.2600.196608)

.NET版本:2.0.50727.3082

SQL Server版本:9.00.4035.00

SQL Server级别:SP3

SQL Server Edition:标准版

错误消息:参数无效。

异常类型:System.ArgumentException

来源:System.Drawing

Stack Trace: 
at System.Drawing.Graphics.GetHdc()
at System.Windows.Forms.ImageList.GetBitmap(Int32 index)
at System.Windows.Forms.ImageList.ImageCollection.get_Item(Int32 index)
<<< MY code >>>

2 个答案:

答案 0 :(得分:4)

最近我创建了一个在构造函数和析构函数中调用GetGuiResources()函数的简单类,并报告GDI对象计数的任何差异。在一些函数中使用它作为范围对象帮助我在代码中插入GDI泄漏。

答案 1 :(得分:2)

GDIView为我工作。它指出了Font泄漏。我搜索了ToHfont()。其余的都是历史。