NullReferenceException без трассировки стека при подключении SetConsoleCtrlHandler

Используя код для перехвата события закрытия консоли из этого потока , я иногда получаю NullReferenceException без трассировки стека (большинство из тех случаев, когда я этого не делаю). Это происходит как при выпуске, так и при отладке, и "прерывание при возникновении исключения" не помогает (оно прерывается, но трассировка стека все еще пуста). Я никогда не получаю это исключение, когда выхожу мое приложение обычно (которое нажимает ввод и, таким образом, выпускает Console.ReadLine ). В журнале событий приложения есть 2 записи:

Приложение: MyApp.exe Framework Версия: v4.0.30319 Описание: Процесс был прерван из-за необработанного исключения. Исключение Информация: System.NullReferenceException Стек:

И:

Имя сбойного приложения: Gateway.exe, версия: 1.0.0.0, отметка времени: 0x4e284101 Имя сбойного модуля: неизвестно, версия: 0.0.0.0, время штамп: 0x00000000 Код исключения: 0xc0000005 Смещение ошибки: 0x004d41ce Идентификатор сбойного процесса: 0xf00 Время запуска сбойного приложения: 0x01cc47b827e19a6e Путь сбойного приложения: C: \ dev \ MyApp.exe Путь сбойного модуля: unknown Report Id: 689c1caa-b3ab-11e0-ba1b-00247e777f12

Google обнаружил некоторые ошибки и проблемы с SetConsoleCtrlHandler , поэтому мне интересно, это проигранная битва.

7
задан Community 23 May 2017 в 12:32
поделиться