2015-09-15 2 views
0

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

Моя проблема заключается в том, что я не могу обнаружить такие сбои надежно. Я создал записи реестра WER LocalDumps, но я не получаю дампы.

Кажется, SAP зарегистрировал обработчик необработанных исключений и выполняет различные задачи для разных типов исключений. Иногда он показывает окно сообщения и завершает приложение (например, в случае ошибок сжатия), иногда он идет с так называемым коротким дампом.

Я не заинтересован ни в окне сообщения, ни в коротком дампе, поэтому я ищу способ отключить обработанный обработчик исключений SAP. Это должно вызвать WER, который пишет файл дампа, и я могу предпринять действия для перезапуска системных тестов.

По соображениям производительности я не хочу перезапускать виртуальную машину при каждом тестировании.

Я попытался:

  • Я в основном знакомы с необработанными обработчиков исключений. Я применил их к своему собственному .NET-коду успешно.
  • Я посмотрел на SetUnhandledExceptionFilter (MSDN) и аналогичный, но применим только к вызывающему процессу, и я не могу изменить код SAP.
  • Я читал о DisableUserModeCallbackFilter, но я не думаю, что это полезно для моего случая

Интересно, есть ли настройки реестра (например, в ImageFileExecutionOptions) или Shim, что я мог бы активировать.

+1

Основная проблема заключается в том, что SAP вызывает SetUnhandledExceptionFilter(). И делает свое дело, все крупные программы делают это. В операционной системе нет встроенного переключателя управления боссом, чтобы остановить его. Возможно, у SAP есть один телефон. –

ответ

0

Согласно комментарий Hans Passant «s (который я беру в качестве ответа) авторитетным,

Там нет босс переопределение выключатель встроен в операционную систему, чтобы остановить его от делать это.

Я, наконец, подключил отладчик к SAP GUI в то время, когда процесс был жив. Начиная со всех разрешенных исключений, я сузил условия, чтобы WinDbg сломался при сбое SAP GUI (первый шанс, а затем второй шанс).

Смежные вопросы