C # SystemNullReferenceException в WindowsForms - PullRequest
1 голос
/ 22 октября 2010

При закрытии формы в приложении появляется следующая ошибка

См. Конец этого сообщения для деталей о вызове Отладка по времени (JIT) вместо этого диалогового окна.

***** Текст исключения *******

System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта. на Infragistics.Win.UltraWinGrid.UltraCombo.get_Text () на Infragistics.Win.UltraWinGrid.UltraCombo.OnEnter (EventArgs e) в System.Windows.Forms.Control.NotifyEnter () в System.Windows.Forms.ContainerControl.UpdateFocusedControl ()

Я почти уверен, что это как-то связано с тем, что я использую многопоточность для заполнения некоторых данных, но моя проблема в том, что я не могу определить место, в котором происходит вызов метода Быть сделанным. Появляется .Net Framework, и я могу нажать только «Продолжить» или «Закрыть», но я действительно хотел сбой приложения, чтобы определить причину ошибки. Это еще сложнее, потому что это происходит только с скомпилированным кодом. Знаете ли вы какой-либо профилировщик или технику, чтобы поймать ошибку? Могу ли я присоединить отладчик к своему exe-файлу для захвата метода, выдавшего ошибку?

UPDATE: Что я действительно хочу, так это включить JIT-отладку и иметь доступ к трассировке стека, чтобы определить причину ошибки. Я сделал это, добавив

 <system.windows.forms jitDebugging="true" />

к файлу конфигурации, как описано в MSDN к моему файлу конфигурации, но теперь я вообще не получаю никакой ошибки. Внизу как, я могу сделать что-нибудь еще для фреймворка дать дополнительные подробности об ошибке?

1 Ответ

2 голосов
/ 22 октября 2010

Вы можете настроить Visual Studio для работы с определенными типами исключений. В меню «Отладка» есть диалог «Исключения». Просто отметьте исключение, которое вы хотите разбить, и запустите код с присоединенным отладчиком Visual Studio.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...