Проверка 0x7F ошибок: UNEXPECTED_KERNEL_MODE_TRAP
Проверка ошибок UNEXPECTED_KERNEL_MODE_TRAP имеет значение 0x0000007F. Эта ошибка проверка указывает на то, что ЦП Intel создал ловушку, и ядру не удалось перехватить эту ловушку.
Эта ловушка может быть любого из следующих типов:
- Связанная ловушка, которая является ловушкой, которую ядро не может перехватывать.
- Двойная ошибка, которая является ошибкой, которая произошла при обработке предыдущей ошибки, которая всегда приводит к сбою системы.
Важно!
Этот раздел предназначен для программистов. Если вы являетесь клиентом, который получил код ошибки "синий экран" во время работы с компьютером, см. статью Устранение ошибок синего экрана.
Параметр 1
Первый параметр, отображаемый на синем экране, указывает номер ловушки.
Наиболее распространенными номерами ловушки являются следующие коды:
Параметр | Код ловушки | Описание |
---|---|---|
0x00000000 | Ошибка деления на ноль | Указывает, что инструкция DIV выполнена, а делитель равен нулю. Повреждение памяти, другие проблемы с оборудованием или сбои программного обеспечения могут привести к этой ошибке. |
0x00000004 | Переполнение | Происходит, когда обработчик выполняет вызов обработчика прерываний при установке флага переполнения (OF). |
0x00000005 | Ошибка проверки границ | Указывает, что процессор при выполнении инструкции BOUND обнаруживает, что операнд превышает указанные ограничения. Инструкция BOUND гарантирует, что индекс массива со знаком находится в определенном диапазоне. |
0x00000006 | Недопустимый код операции | Указывает, что обработчик пытается выполнить недопустимую инструкцию. Эта ошибка обычно возникает, когда указатель инструкции поврежден и указывает на неправильное расположение. Наиболее распространенной причиной этой ошибки является повреждение памяти оборудования. |
0x00000008 | Двойная ошибка | Указывает, что исключение возникает во время вызова обработчика для предыдущего исключения. Как правило, эти два исключения обрабатываются последовательно. Существует несколько исключений, которые не могут быть обработаны последовательно, поэтому процессор сигнализирует о двойной ошибке. |
Существует две распространенные причины двойной ошибки:
- Первая причина — переполнение стека ядра. Это переполнение происходит при попадании на страницу защиты и ядро пытается отправить кадр ловушки. Так как стека не осталось, происходит переполнение стека, что приводит к двойной ошибке. Если вы считаете, что это произошло, используйте расширение !thread , чтобы определить ограничения стека, а затем используйте команду kb (Display Stack Backtrace) с большим значением , например kb100, чтобы отобразить полный стек.
- Вторая распространенная причина — проблема с оборудованием.
Менее распространенные коды ловушек включают следующие значения:
- 0x00000001: вызов системного отладчика (DEBUG)
- 0x00000003: точка останова отладчика (INT3)
- 0x00000007: аппаратная инструкция сопроцессора без сопроцессора (NXP_NOT_AVAILABLE)
- 0x0000000A: поврежденный сегмент состояния задачи (INVALID_TSS)
- 0x0000000B: доступ к сегменту памяти, которого не было (SEGMENT_NOT_PRESENT)
- 0x0000000C: доступ к памяти за пределами стека (STACK_FAULT)
- 0x0000000D: исключение, не охваченное каким-то другим исключением, ошибка защиты, которая относится к нарушениям доступа для приложений (GP_FAULT).
- 0x0000000F: исключение зарезервированной ловушки (RESERVED_TRAP)
- 0x00000010: исключение аппаратного сопроцессора (NPX_ERROR)
- 0x00000011: исключение проверка выравнивания (ALIGNMENT_CHECK)
Другие номера ловушек см. в руководстве по архитектуре процессора Intel для процессора, который вы устраняете.
Причина
Ошибка проверка 0x7F обычно возникает после установки неисправного или несовпадения оборудования, особенно памяти, или при сбое установленного оборудования.
При переполнении стека ядра может произойти двойная ошибка. Это переполнение происходит, если к одному стеку подключено несколько драйверов. Например, если два драйвера фильтра файловой системы подключены к одному стеку, а затем файловая система повторно войтится, стек переполняется.
Отладка
Всегда начинайте с расширения !analyze с параметром -v , подробным. Изучите выходные данные и код сбоя. Найдите повторяющиеся тенденции в нескольких дампах.
После попытки !analyze используйте команду отладчика kv (Display Stack Backtrace).
- Если kv отображает шлюз задачи, используйте команду .tss (Display Task State Segment) на части перед двоеточием.
- Если kv отображает кадр-ловушку, используйте команду .trap (Display Trap Frame) для форматирования кадра.
- В противном случае используйте команду .trap (Display Trap Frame) для соответствующего кадра. На платформах x86 этот кадр связан с процедурой NT! KiTrap.
После использования одной из этих команд снова используйте kv , чтобы отобразить новый стек.
Диагностика
Оборудование
Если вы недавно добавили оборудование на компьютер, удалите его, чтобы узнать, повторяется ли ошибка. Если существующее оборудование завершилось сбоем, удалите или замените неисправный компонент. Запустите диагностика оборудования, поставляемые производителем системы, чтобы определить, какой аппаратный компонент завершился сбоем.
Сбой или несоответствие памяти может привести к этой ошибке проверка. Используйте программу диагностики памяти в Windows для тестирования всей системной памяти.
Убедитесь, что все жесткие диски и контроллеры жестких дисков совместимы с установленной версией Windows.
Системная плата может иметь проблемы, такие как поцарапанная трассировка или дефектный компонент. Сбой источника питания также может привести к проблемам.
При превышении скорости ЦП выше заданной спецификации, что может привести к этой ошибке. Если вы заблокировали компьютер, на котором возникла ошибка, верните ЦП на значение по умолчанию. Отключите кэширование памяти BIOS, чтобы попытаться устранить проблему, если этот параметр доступен.
Программное обеспечение
Проверьте системный вход в Просмотр событий на наличие других сообщений об ошибках, которые могут помочь определить устройство или драйвер, вызвавших ошибку.
Проверьте доступность обновлений для ACPI/BIOS, контроллера жесткого драйвера или сетевых карт от изготовителя оборудования.
Если ошибка произошла после установки нового или обновленного драйвера устройства, удалите или замените драйвер. Если в этом случае ошибка возникает во время последовательности запуска, используйте безопасный режим, чтобы переименовать или удалить неисправный драйвер. Если драйвер используется в процессе запуска системы в безопасном режиме, запустите компьютер с помощью консоли восстановления, чтобы получить доступ к файлу. Попробуйте использовать параметр Последняя известная хорошая конфигурация . Этот параметр наиболее эффективен при одновременном добавлении только одного драйвера или службы.
Если эта ошибка возникает при обновлении до новой версии операционной системы Windows, она может быть вызвана несовместимым программным обеспечением. Например, драйвер устройства, системная служба, средство проверки вирусов или средство резервного копирования. По возможности удалите все сторонние драйверы устройств и системные службы и отключите все антивирусные сканеры перед обновлением. Обратитесь к производителю программного обеспечения, чтобы получить обновления этих средств. Кроме того, убедитесь, что установлены последние обновления Windows.