Вопрос

У меня есть пользователь, который продолжает получать эту ошибку. Есть ли инструмент для подсчета дескрипторов окон, который я могу использовать, чтобы выяснить, почему он продолжает получать эту ошибку.

System.ComponentModel.Win32Exception: Ошибка создания дескриптора окна.    в System.Windows.Forms.NativeWindow.CreateHandle (cp CreateParams)    в System.Windows.Forms.Control.CreateHandle ()    в System.Windows.Forms.Form.CreateHandle ()    в System.Windows.Forms.Control.get_Handle ()    в System.Windows.Forms.Form.ShowDialog (владелец IWin32Window)

Это было полезно?

Решение

Лучший счетчик, который я знаю, это Taskmgr.exe. Просмотр + Выбор столбцов и отметка «Пользовательские объекты», «Обработка количества» и "Объекты GDI".

Общая диагностика заключается в том, что у вас протекают ручки и вы потребляете 10000 из них Остерегайтесь ошибки утечки дескриптора в .NET 2.0 SP1 и .NET 3.5 Graphics.CopyFromScreen (), исправленных в 3.5 SP1.

Другие советы

Если создаваемая вами форма переопределяет WndProc (), убедитесь, что она всегда вызывает base.WndProc () в процессе создания окна.

Я случайно пропустил вызов base.WndProc () в своем переопределении и получил трассировку стека.

Может быть, это поможет:

Необработанное исключение Win32Exception, Ошибка создания дескриптора окна

Отладчик CLR (DbgCLR.exe)

на моем компьютере отладчик находится по адресу:

"c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\GuiDebug\DbgCLR.exe" 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top