| Предыдущий | Следующий |
| RECURSIVE_MACHINE_CHECK | DIRTY_NOWRITE_PAGES_CONGESTION |
ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
Нарушение разрешения выполнения NX/DEP для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY — код bug check 0x000000FC. Поток управления достиг виртуального адреса, который memory manager не разрешает выполнять. Типичные причины: повреждённый function pointer, use-after-free, попытка code injection, неверный driver trampoline или память с неправильными protections.
Как читать дамп ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
- При наличии данных декодируйте faulting instruction pointer и состояние PTE или VAD.
- Стек мог быть повреждён, поскольку управление уже прошло через плохую память.
- Это более конкретное свидетельство, чем общий access violation: отказало именно разрешение execute.
Что проверить для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
- В WinDbg исследуйте faulting address, pool tag, call stack и список загруженных модулей.
- Для подозреваемых драйверов включите Driver Verifier, Special Pool и проверки code integrity.
- Проверьте драйверы, записывающие executable stubs, перехватывающие функции или неправильно использующие MDL и защиты страниц.
Ссылки для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
- Bug Check 0xFC: ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
- Справочник Microsoft по кодам bug check
- Анализ kernel-mode dump в WinDbg
Данные дампа для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
Для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY сохраните полный дамп, четыре параметра bug check, точную сборку Windows, список загруженных модулей и временную шкалу событий непосредственно перед остановкой. AllStat описывает состояние как «An attempt was made to execute non-executable memory.»; эта фраза определяет класс сбоя, а параметры и стек — конкретный объект, драйвер, процессор или экземпляр подсистемы.
Порядок анализа для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
- Запустите WinDbg
!analyze -v, затем разберите документированное значение каждого параметра ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY, а не полагайтесь только на строку probably-caused-by. - Для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY найдите самое раннее аномальное событие: обновление драйвера, изменение прошивки, сброс устройства, ошибку хранилища, отчёт Verifier, исчерпание ресурсов или зависание приложения, связанное с attempted / execute / of / noexecute / memory.
- Для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY сохраните в перечне модулей сторонние фильтры, драйверы безопасности, хранилища, графики и виртуализации; удаление данных до анализа дампа может скрыть ответственный путь.
Не перезагружайте многократно систему с ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY до сохранения дампа и журналов событий. Восстановление должно следовать компоненту, указанному стеком и параметрами, а не только символическому имени stop-кода.
Данные дампа для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
Для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY сохраните полный дамп, четыре параметра bug check, точную сборку Windows, список загруженных модулей и временную шкалу событий непосредственно перед остановкой. AllStat описывает состояние как «An attempt was made to execute non-executable memory.»; эта фраза определяет класс сбоя, а параметры и стек — конкретный объект, драйвер, процессор или экземпляр подсистемы.
Порядок анализа для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
- Запустите WinDbg
!analyze -v, затем разберите документированное значение каждого параметра ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY, а не полагайтесь только на строку probably-caused-by. - Для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY найдите самое раннее аномальное событие: обновление драйвера, изменение прошивки, сброс устройства, ошибку хранилища, отчёт Verifier, исчерпание ресурсов или зависание приложения, связанное с attempted / execute / of / noexecute / memory.
- Для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY сохраните в перечне модулей сторонние фильтры, драйверы безопасности, хранилища, графики и виртуализации; удаление данных до анализа дампа может скрыть ответственный путь.
Не перезагружайте многократно систему с ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY до сохранения дампа и журналов событий. Восстановление должно следовать компоненту, указанному стеком и параметрами, а не только символическому имени stop-кода.
Нужно найти другой код? Найти другой код состояния или ошибки.
