Выполняю системные тесты в системе SAP. Время от времени происходит сбой системы SAP, и я хотел бы восстановиться после этих сбоев, сбросив виртуальную машину до ранее сохраненного состояния.Могу ли я отключить обработчик необработанных исключений для процесса?
Моя проблема заключается в том, что я не могу обнаружить такие сбои надежно. Я создал записи реестра WER LocalDumps, но я не получаю дампы.
Кажется, SAP зарегистрировал обработчик необработанных исключений и выполняет различные задачи для разных типов исключений. Иногда он показывает окно сообщения и завершает приложение (например, в случае ошибок сжатия), иногда он идет с так называемым коротким дампом.
Я не заинтересован ни в окне сообщения, ни в коротком дампе, поэтому я ищу способ отключить обработанный обработчик исключений SAP. Это должно вызвать WER, который пишет файл дампа, и я могу предпринять действия для перезапуска системных тестов.
По соображениям производительности я не хочу перезапускать виртуальную машину при каждом тестировании.
Я попытался:
- Я в основном знакомы с необработанными обработчиков исключений. Я применил их к своему собственному .NET-коду успешно.
- Я посмотрел на SetUnhandledExceptionFilter (MSDN) и аналогичный, но применим только к вызывающему процессу, и я не могу изменить код SAP.
- Я читал о DisableUserModeCallbackFilter, но я не думаю, что это полезно для моего случая
Интересно, есть ли настройки реестра (например, в ImageFileExecutionOptions) или Shim, что я мог бы активировать.
Основная проблема заключается в том, что SAP вызывает SetUnhandledExceptionFilter(). И делает свое дело, все крупные программы делают это. В операционной системе нет встроенного переключателя управления боссом, чтобы остановить его. Возможно, у SAP есть один телефон. –