2012-02-07 2 views
4

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

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

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

ответ

1

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

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

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