【问题标题】:How to debug an "Error creating window handle" error?如何调试“创建窗口句柄时出错”错误?
【发布时间】:2009-03-16 03:35:05
【问题描述】:

我正在尝试调试来自基于 Windows .NET 的应用程序的错误。错误消息类似于“创建窗口句柄时出错”。 On researching about this error 我发现可能的原因是that the application is using more than 10000 user handles

我想在应用程序中加入一些调试代码,看看应用程序使用了多少“用户句柄”。但是谷歌搜索“如何计算用户句柄”并没有帮助。

那么,你们中有人遇到过类似的问题吗?如果是,您是如何调试的?

【问题讨论】:

    标签: .net windows


    【解决方案1】:

    WinForm 应用程序中出现此问题的可能原因有 2 个

    1. 您没有主动处理应用程序中的 Control 和 Form 实例。这种方式更难解决问题,因为需要一点时间,GC 会清理句柄,但仍然可行。
    2. PInvoke 到本机 API 并且不关闭生成的句柄

    这将是我要检查的前两个地方。另一个想法是直接找到源代码并开始调试句柄泄漏。以下是一些有关如何实现此目的的链接。

    【讨论】:

      【解决方案2】:

      另一个可能的原因是某些控件在OnHandleCreated 或相关的HandleCreated 事件中引发异常。我相信这会导致类似于您所看到的错误。

      【讨论】:

        猜你喜欢
        • 2011-10-17
        • 1970-01-01
        • 2013-01-30
        • 2013-06-02
        • 2017-09-25
        • 1970-01-01
        • 2016-09-01
        相关资源
        最近更新 更多