Средство проверки драйверов

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

Внимание!

  • Запуск средства проверки драйверов может привести к аварийному завершению работы компьютера.
  • Средство проверки драйверов следует запускать только на компьютерах, которые используются для тестирования и отладки.
  • Чтобы использовать средство проверки драйверов, необходимо быть в группе Администраторы на компьютере.

Где можно скачать средство проверки драйверов?

Вам не нужно скачивать средство проверки драйверов, так как оно входит в состав большинства версий Windows в %WinDir%\system32\ как Verifier.exe. (Средство проверки драйверов не входит в состав Windows 10 S, поэтому рекомендуется протестировать поведение драйвера на Windows 10.) Средство проверки драйверов не распространяется отдельно в виде пакета для скачивания.

Сведения об изменениях в средстве проверки драйверов для Windows 10 и предыдущих версий Windows см. в статье Проверка драйверов: новые возможности.

Когда следует использовать средство проверки драйверов

Запустите средство проверки драйверов на протяжении всего процесса разработки и тестирования драйвера. В частности, используйте средство проверки драйверов для следующих целей:

Запуск средства проверки драйверов

Средство проверки драйверов следует запускать только на тестовых компьютерах или на тестируемых и отладочных компьютерах. Чтобы получить максимальную пользу от средства проверки драйверов, следует использовать отладчик ядра и подключиться к тестовом компьютеру. Дополнительные сведения о средствах отладки см. в статье Средства отладки для Windows (WinDbg, KD, CDB, NTSD).

  1. Запустите окно командной строки , выбрав Запуск от имени администратора и введите verifier , чтобы открыть диспетчер проверки драйверов.

  2. Выберите Создать стандартные параметры (задача по умолчанию) и нажмите кнопку Далее.

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

  3. В разделе Выбор проверяемых драйверов выберите одну из схем выбора, описанных в следующей таблице.

    Параметр Рекомендации по использованию
    Автоматический выбор неподписанных драйверов

    Полезно для тестирования на компьютерах под управлением версий Windows, для которых не требуются подписанные драйверы.

    Автоматический выбор драйверов, созданных для более ранних версий Windows

    Полезно для тестирования совместимости драйверов с более новыми версиями Windows.

    Автоматический выбор всех драйверов, установленных на этом компьютере

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

    Этот параметр также может исчерпать ресурсы, доступные для специального пула и отслеживания некоторых ресурсов. Тестирование всех драйверов также может негативно повлиять на производительность системы.

    Выбор имен драйверов из списка

    В большинстве случаев требуется указать, какие драйверы следует тестировать.

    Выбор всех драйверов в стеке устройств позволяет параметру Расширенная проверка ввода-вывода отслеживать объекты и проверка соответствие требованиям, так как пакет запроса ввода-вывода передается между каждым из драйверов в стеке, что позволяет предоставлять более подробные сведения при обнаружении ошибки.

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

  4. Если вы выбрали Выбрать имена драйверов из списка, нажмите кнопку Далее, а затем выберите один или несколько конкретных драйверов.

  5. Нажмите кнопку Готово, а затем перезагрузите компьютер.

Примечание

При использовании средства проверки драйверов с Windows версий от 20150 до 25126, если вы выбрали ntoskrnl , может появиться сообщение об ошибке недопустимого состояния.
Чтобы избежать этой проблемы, снимите флажок ntoskrnl или выполните обновление до версии Windows после сборки 25126.

Запуск средства проверки драйверов в командной строке

Вы также можете запустить средство проверки драйверов в окне командной строки, не запуская диспетчер проверки драйверов. Например, чтобы запустить средство проверки драйверов со стандартными параметрами драйвера с именемmyDriver.sys, используйте следующую команду:

verifier /standard /driver myDriver.sys

Дополнительные сведения о параметрах командной строки см. в разделе Синтаксис команды средства проверки драйверов.

Управление средством проверки драйверов

Для управления проверкой драйверов можно использовать диспетчер проверки драйверов или командную строку. Сведения о запуске диспетчера проверки драйверов см. в разделе Запуск средства проверки драйверов выше в этой статье.

Для каждого из следующих действий можно использовать диспетчер проверки драйверов или ввести командную строку.

Остановка или сброс средства проверки драйверов

  1. В диспетчере проверки драйверов выберите Удалить существующие параметры, а затем нажмите кнопку Готово.

    или

    В командной строке введите следующую команду.

    verifier /reset
    
  2. Перезагрузите компьютер.

Просмотр статистики средства проверки драйверов

В диспетчере проверки драйверов выберите Отобразить сведения о проверенных драйверах, а затем нажмите кнопку Далее. Далее отображаются дополнительные сведения.

или

В командной строке введите следующую команду.

verifier /query

Просмотр параметров средства проверки драйверов

В диспетчере проверки драйверов выберите Отобразить существующие параметры, а затем нажмите кнопку Далее.

или

В командной строке введите следующую команду.

verifier /querysettings

Отладка нарушений средства проверки драйверов

Чтобы получить максимальную пользу от средства проверки драйверов, следует использовать отладчик ядра и подключить его к тестовом компьютеру. Общие сведения о средствах отладки для Windows см. в статье Средства отладки для Windows (WinDbg, KD, CDB, NTSD).

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

Все нарушения, обнаруженные средством проверки драйверов, приводят к проверке ошибок. Обычно это 0xC4 проверки ошибок. Дополнительные сведения см. в разделах Отладка 0xC4 проверки ошибок: DRIVER_VERIFIER_DETECTED_VIOLATION и 0xC4 проверки ошибок: DRIVER_VERIFIER_DETECTED_VIOLATION.

Ниже перечислены другие коды проверка ошибок.

Дополнительные сведения см. в разделе Обработка проверки ошибок при включении средства проверки драйверов.

При запуске нового сеанса отладки используйте команду расширения отладчика !analyze. В режиме ядра команда !analyze отображает сведения о последней ошибке проверка. Чтобы отобразить дополнительные сведения, чтобы определить неисправный драйвер, добавьте параметр -v в команду в командной строке kd> :

kd> !analyze -v

В дополнение к !analyze можно ввести следующие расширения отладчика в командной строке kd> , чтобы просмотреть сведения, относящиеся к проверке драйверов:

  • Дампы !verifier захватывают статистику средства проверки драйверов. Используйте !verifier -? для отображения всех доступных параметров.

    kd> !verifier
    
  • !взаимоблокировка отображает сведения, связанные с блокировками или объектами, отслеживаемыми функцией обнаружения взаимоблокировок средства проверки драйверов. Используйте !взаимоблокировку -? для отображения всех доступных параметров.

    kd> !deadlock
    
  • !iovirp [адрес] отображает сведения, связанные с IRP, отслеживаемые проверяющей операцией ввода-вывода. Пример:

    kd> !iovirp 947cef68
    
  • Найдите нарушенное правило проверки соответствия требованиям DDI . (RuleID всегда является первым аргументом проверка ошибки.) Все идентификаторы правил из проверки соответствия DDI имеют вид 0x200nn.

Параметры средства проверки драйверов

Синтаксис команды средства проверки драйверов

Использование средства проверки драйверов

Управление проверяющим драйвером

Проверка соответствия DDI