Приложение .NET завершает работу, не попадая в AppDomain.UnhandledException - PullRequest
3 голосов
/ 24 ноября 2010

У меня есть приложение, которое иногда неожиданно завершает работу, несмотря на наличие обработчиков для События AppDomain.CurrentDomain.UnhandledException, Application.Current.DispatcherUnhandledException, TaskScheduler.UnobservedTaskException.

Это приложение WPF со множеством кодов взаимодействия P / Invoke. Я создал «сеть безопасности» с обработчиками для всех событий «последней инстанции» (см. Выше). Но приложение все равно не работает со стандартным диалоговым окном ошибки Windows, в котором пропущены все мои обработчики.

Что может быть причиной завершения приложения .net и предотвращения исключения AppDomain.CurrentDomain.UnhandledException?

Может ли исключение в неуправляемом потоке быть такой причиной? Если так, что я могу сделать с этим?

1 Ответ

1 голос
/ 24 ноября 2010

CLR не может волшебным образом внедрить обработку необработанных исключений в собственный код, когда этот код сам по себе не заботится. В частности, любое аппаратное исключение, такое как AccessViolation в потоке, о котором CLR не знает, завершит работу приложения без диагностики. Вам нужно будет поработать с владельцем или автором этого кода, чтобы повысить надежность и удобство обслуживания этого кода.

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