Поделиться через


Анализ данных проверки ошибок (ошибка остановки кода)

Note

Эта статья предназначена для программистов. Если вы являетесь клиентом, который получил ошибку кода остановки при использовании компьютера, см. статью "Устранение ошибок кода остановки".

Note

Если вы являетесь ИТ-специалистом или агентом поддержки, см. дополнительные сведения об устранении неполадок с кодом остановки .

Соберите параметры стоп-кода

Каждый код проверки на ошибку имеет четыре связанных параметра, которые предоставляют информацию. Параметры описаны в справочнике по коду проверки ошибок для каждого стоп-кода.

Существует несколько способов сбора четырех параметров стоп-кода.

  • Изучите системный журнал Windows в средстве просмотра событий. В свойствах события для проверки на наличие ошибок будут перечислены четыре параметра стоп-кода.

  • Load the generated dump file and use the !analyze command with the debugger attached. Дополнительные сведения см. в разделе Анализ файла дампа режима ядра с помощью WinDbg.

  • Подключите отладчик ядра к неисправному компьютеру. Когда происходит выполнение стоп-кода, выходные данные отладчика будут включать четыре параметра после шестнадцатеричного значения стоп-кода.

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************
    
    Use !analyze -v to get detailed debugging information.
    
    BugCheck 9F, {3, ffffe000f38c06a0, fffff803c596cad0, ffffe000f46a1010}
    
    Implicit thread is now ffffe000`f4ca3040
    Probably caused by : hidusb.sys
    

Проверка на наличие ошибок в именах символов

DRIVER_POWER_STATE_FAILURE is the bug check symbolic name, with an associated bug check code of 9F. Шестнадцатеричное значение кода остановки, связанное с именем символа проверки на наличие ошибок, указано в справочнике по коду проверки на ошибку.

Чтение информации о проверке ошибок из отладчика

Если отладчик подключен и на ПК включена отладка, проверка на наличие ошибок приведет к тому, что целевой компьютер взломает отладчик. В этом случае ошибка кода остановки может не появиться немедленно. Полная информация об этом сбое будет отправлена в отладчик и появится в окне отладчика. Чтобы просмотреть эту информацию во второй раз, используйте команду .bugcheck (Отображать данные проверки ошибок) или команду расширения !analyze . Сведения о включении отладки см. в разделе Начало работы с WinDbg (Kernel-Mode).

Отладка ядра и анализ аварийного дампа

Отладка ядра особенно полезна, когда другие методы устранения неполадок не работают или при повторяющейся проблеме. Не забудьте записать точный текст в разделе информации об ошибке в сообщении об ошибке. Чтобы изолировать сложную проблему и разработать жизнеспособный обходной путь, полезно записать точные действия, которые привели к сбою.

The !analyze debug extension displays information about the bug check and can be helpful in determining the root cause.

Вы также можете установить точку останова в коде, ведущем к этому стоп-коду, и попытаться сделать один шаг вперед в код-ошибку.

Дополнительные сведения см. в следующих статьях:

Анализ аварийного дампа с помощью отладчиков Windows (WinDbg)

Анализ файла дампа режима ядра с помощью WinDbg

Использование расширения !analyze и !analyze

Инструменты дефрагментации показывают

Использование средства проверки драйверов для сбора информации

По оценкам, около трех четвертей ошибок кода остановки вызваны сбоями драйверов. Driver Verifier — это средство, которое запускается в режиме реального времени для изучения поведения водителей. Например, средство проверки драйверов проверяет использование ресурсов памяти, таких как пулы памяти. Если он обнаруживает ошибки в выполнении кода драйвера, он заранее создает исключение, чтобы разрешить дальнейшую проверку этой части кода драйвера. Диспетчер проверки драйверов встроен в Windows и доступен на всех компьютерах с Windows. To start the driver verifier manager, enter Verifier at a command prompt. Вы можете настроить, какие драйверы вы хотите проверить. Код, который проверяет драйверы, увеличивает накладные расходы по мере выполнения, поэтому постарайтесь проверить как можно меньшее количество драйверов. For more information, see Driver Verifier.

Советы инженерам-программистам

Когда проверка на наличие ошибок происходит в результате написанного вами кода, вы должны использовать отладчик ядра для анализа проблемы, а затем исправить ошибки в коде. Для получения полной информации см. отдельный код проверки ошибок в разделе Справочник по коду проверки ошибок .

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

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

See also