Я пытаюсь понять, каким образом неуправляемый процесс Windows в пользовательском режиме может «аварийно завершить работу» (что на самом деле является слишком сложным термином).
Вот способы, которые мне известныдо сих пор:
- Необработанное структурированное исключение
- По умолчанию UnhandledExceptionFilter: посмертный отладчик в до-Vista;WerFault в Vista +
- Пользовательский UnhandledExceptionFilter: может делать все, что угодно, включая тихий выход?1014 *
- Например, попадание на страницу защиты от переполнения стека при обработке переполнения стека: ОС просто заставляет процесс исчезнуть без следа?
- «Нормальный» выход:
- Например, когда язык предоставляет собственный механизм обработки ошибок, который приводит к фатальному сбою, который выглядит как ОС, как будто приложение нормально закрылось.
Это приблизительно верно?Существуют ли другие способы смерти процесса Windows в пользовательском режиме?