处理.Net 2.0 Windows应用程序中的泄漏

时间:2013-07-26 04:30:59

标签: c# .net winforms handle-leak

我们必须处理应用程序中的泄漏。

我们正在测试我们的应用程序中的一些查看器,大约200个打开和关闭,并发现句柄数大约为200.

对于同一个观察者,内存使用量是恒定的,GDI计数也是不变的。

问题是手柄每次都在增加,但不是一成不变的。有时它增加5,有时增加1,有时减少。我们无法看到GDI泄漏的持续增长。

我们已经取消订阅应用程序中注册的所有事件,并且还处理了应用程序中使用的所有控件。在应用程序中还存在一些内存泄漏之前。在处理完所有控件后,它会保持不变。

那么在这种情况下我们需要检查的所有其他事情是什么。我们有点困惑,因为内存/ GDI计数是不变的,而句柄只是增加。

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

使用Process Explorer之类的工具检查您的流程已打开的句柄。从列表中选择您的流程,然后转到查看&gt; <下窗格视图&gt;手柄。默认情况下,下部窗格仅显示指定的句柄。你可以去查看&gt;显示未命名的句柄和映射以显示所有内容。