Catching EngineExecutionException - PullRequest
       15

Catching EngineExecutionException

4 голосов
/ 07 февраля 2012

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

Обработчик необработанного исключения не перехватывает исключение EngineExecutionException, возникающее во время выполнения .NET. Мы подозреваем, что проблема в повреждении памяти, вызванном внутренней частью приложения.

Проблема в том, что когда возникает исключение, приложение просто завершается без трассировки. Мы хотели бы записать мини-дамп, когда это произойдет. Кто-нибудь знает, как наше приложение может установить обработчик, способный это перехватить?

1 Ответ

1 голос
/ 07 февраля 2012

AFAIK это исключение невозможно отследить на управляемой стороне вещей (по крайней мере, в .NET 4).

Один из способов «поймать» это создать (собственный) пользовательский стартер / загрузчик для вашего приложения, который загружает среду выполнения .NET - этот пользовательский стартер может установить обработчик исключений на нативной стороне среды выполнения .NET.

Справочные ссылки:

...