Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Средство проверки драйверов — это средство тестирования Windows, которое помогает выявить проблемы с драйвером перед сбоем системы или повреждением системы. Отслеживая драйверы в режиме ядра и графические драйверы в режиме реального времени, средство проверки драйверов обнаруживает незаконные вызовы функций и проблемные действия, которые могут дестабилизировать систему.
Независимо от того, разрабатываете ли вы новые драйверы или устраняете неполадки с существующими, средство проверки драйверов предоставляет возможности раннего обнаружения и отладки, необходимые для создания надежных, высококачественных драйверов. В этом комплексном руководстве рассматриваются все возможности базовой настройки до расширенных методов отладки.
- Узнайте, когда и почему использовать средство проверки драйверов
- Настройка средства проверки драйверов для среды тестирования
- Настройка параметров проверки для конкретных потребностей
- Отладка нарушений и интерпретация результатов
- Применение рекомендаций для рабочих процессов тестирования драйверов
Это важно
- Запуск средства проверки драйверов может привести к сбою компьютера.
- Только запустите средство проверки драйверов на компьютерах, используемых для тестирования и отладки.
- Для использования средства проверки драйверов необходимо находиться в группе "Администраторы".
Где можно получить средство проверки драйверов?
Вам не нужно получать средство проверки драйверов, так как большинство версий Windows включают его в %WinDir%\system32\ as Verifier.exe. (Средство проверки драйверов не входит в состав Windows 10 S, поэтому мы рекомендуем протестировать поведение драйвера в Windows 10. Средство проверки драйверов не распространяется отдельно в виде пакета загрузки.
Сведения об изменениях в средстве проверки драйверов для Windows 10 и предыдущих версиях Windows см. в статье "Проверка драйверов: новые возможности".
Когда следует использовать средство проверки драйверов
Используйте средство проверки драйверов на протяжении всего процесса разработки и тестирования драйверов:
Ранние разработки
- Находите проблемы на ранних этапах цикла разработки, когда их легче и дешевле исправить.
- Предотвратит дорогостоящие задержки путем выявления проблем, прежде чем они достигнут производства
Устранение неполадок
- Быстрая отладка сбоев тестов и анализ сбоев компьютера
- Определение первопричин нестабильности системы, связанной с драйвером
Тестирование и развертывание
- Мониторинг поведения драйвера при развертывании для тестирования с помощью WDK, Visual Studio и комплекта лабораторий оборудования Windows (Windows HLK)
- Обеспечение совместимости с требованиями комплекта сертификации оборудования Windows
Подробные рекомендации по тестированию драйверов см. в разделе "Тестирование драйвера".
Это важно
Программа совместимости оборудования Windows требует применения CodeQL для тестирования с использованием статического инструмента логотипа (STL) в наших операционных системах для клиентских и серверных систем. Мы продолжаем поддерживать поддержку SDV и ЦС на старых продуктах. Партнерам настоятельно рекомендуется ознакомиться с требованиями CodeQL к статическому тесту логотипа средства. Дополнительные сведения об использовании CodeQL см. в CodeQL и тесте логотипа статических инструментов.
Запуск средства проверки драйверов
Запустите средство проверки драйверов только на тестовых компьютерах или на компьютерах, которые вы тестируете и выполняете отладку. Чтобы получить наибольшее преимущество от средства проверки драйверов, используйте отладчик ядра для подключения к тестовом компьютеру. Дополнительные сведения об инструментах отладки см. в разделе "Средства отладки" для Windows (WinDbg, KD, CDB, NTSD).
Запустите окно командной строки , выбрав "Запуск от имени администратора" и введите средство проверки , чтобы открыть диспетчер проверки драйверов.
Выберите "Создать стандартные параметры " (задача по умолчанию) и нажмите кнопку "Далее".
Вы также можете выбрать настраиваемые параметры для выбора из предопределенных параметров или выбрать отдельные параметры. Дополнительные сведения см. в разделе "Параметры средства проверки драйверов" и "Классы правил" и"Выбор параметров средства проверки драйверов".
В разделе "Выбор драйверов для проверки" выберите одну из схем выбора, описанных в следующей таблице:
Вариант Рекомендуемое использование Автоматически выбирать неподписанные драйверы Полезно для тестирования на компьютерах с версиями Windows, для которых не требуются подписанные драйверы. Автоматическое выбор драйверов, созданных для более старых версий Windows Полезно для тестирования совместимости драйверов с более новыми версиями Windows. Автоматический выбор всех драйверов, установленных на этом компьютере Обеспечивает максимальное покрытие с точки зрения количества тестируемых драйверов в системе. Этот параметр полезен для тестовых сценариев, когда драйвер может взаимодействовать с другими устройствами или драйверами в системе.
Этот параметр также может исчерпать ресурсы, доступные для специального пула, и для отслеживания некоторых ресурсов. Тестирование всех драйверов также может негативно повлиять на производительность системы.Выбор имен драйверов из списка В большинстве случаев необходимо указать, какие драйверы необходимо протестировать.
Выбор всех драйверов в стеке устройств позволяет параметру расширенной проверки ввода-вывода отслеживать объекты и проверять соответствие требованиям, так как пакет запросов ввода-вывода (IRP) передается между каждым из драйверов в стеке, что позволяет предоставить более широкий уровень детализации при обнаружении ошибки.
Выберите один драйвер, если вы выполняете тестовый сценарий, который измеряет метрики производительности системы или драйвера или вы хотите выделить наибольшее количество ресурсов, доступных для обнаружения проблем с повреждением памяти или отслеживанием ресурсов (например, взаимоблокировок или мьютексов). Опции Специального пула и проверки ввода-вывода более эффективны при использовании по одному драйверу.Если вы выбрали выбор имен драйверов из списка, нажмите кнопку "Далее", а затем выберите один или несколько конкретных драйверов.
Нажмите кнопку "Готово", а затем перезагрузите компьютер.
Замечание
При использовании средства проверки драйверов с Windows версий 20150–25126, при выборе ntoskrnl может возникнуть ошибка недопустимого состояния.
Чтобы избежать этой проблемы, следует отменить выбор ntoskrnl или обновить до версии Windows после сборки 25126.
Запуск средства проверки драйвера в командной строке
Вы также можете запустить средство проверки драйверов в окне командной строки без запуска диспетчера проверки драйверов. Например, чтобы запустить средство проверки драйверов со стандартными параметрами драйвера с именем myDriver.sys, используйте следующую команду:
verifier /standard /driver myDriver.sys
Дополнительные сведения о параметрах командной строки см. в разделе "Синтаксис команды проверяющего драйвера".
Управление проверятелем драйверов
Выберите предпочитаемый метод для управления проверятелем драйверов:
- Диспетчер проверки драйверов (GUI) — проще для начинающих, визуального интерфейса
- Командная строка — быстрее для опытных пользователей, возможность автоматизации скриптами
Замечание
Чтобы запустить диспетчер проверки драйверов, см. раздел "Запуск средства проверки драйверов " выше.
Распространенные задачи проверки драйверов
Для каждого из следующих действий можно использовать диспетчер проверки драйверов или ввести командную строку.
Остановка или сброс средства проверки драйверов
В диспетчере проверки драйверов выберите "Удалить существующие параметры", а затем нажмите кнопку "Готово".
или
Введите следующую команду в командной строке:
verifier /resetПерезапустите компьютер.
Просмотр статистики средства проверки драйверов
В диспетчере проверки драйверов выберите отображение сведений о проверенных драйверах, а затем нажмите кнопку "Далее". Продолжая нажать кнопку "Далее ", отображаются дополнительные сведения.
или
Введите следующую команду в командной строке:
verifier /query
Просмотр параметров средства проверки драйверов
В диспетчере проверки драйверов выберите "Отобразить существующие параметры", а затем нажмите кнопку "Далее".
или
Введите следующую команду в командной строке:
verifier /querysettings
Отладка нарушений средства проверки драйверов
Чтобы получить наибольшее преимущество от средства проверки драйверов, используйте отладчик ядра и подключите его к тестовом компьютеру. Общие сведения о средствах отладки для Windows см. в разделе "Средства отладки" для Windows (WinDbg, KD, CDB, NTSD).
Если средство проверки драйверов обнаруживает нарушение, он создает проверку ошибок, чтобы остановить компьютер. Это действие предоставляет наиболее подробную информацию для отладки проблемы. При подключении отладчика ядра к тестовому компьютеру, на котором запущено средство проверки драйверов, и средство обнаруживает нарушение, Windows переходит в отладчик и отображает краткое описание ошибки.
Все нарушения, обнаруженные проверятелем драйверов, приводят к проверке ошибок. Эта проверка ошибок обычно является проверкой ошибок Bug Check 0xC4. Дополнительные сведения см. в разделе "Отладка ошибки 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION" и "Ошибка 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION".
Другие распространенные коды проверки ошибок включают следующие коды:
- Проверка ошибок 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
- Проверка ошибок 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
- Проверка ошибок 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
- Проверка ошибок 0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
- Проверка ошибок 0xE6: DRIVER_VERIFIER_DMA_VIOLATION
Дополнительные сведения см. в разделе "Обработка проверки ошибок при включении средства проверки драйвера".
При запуске нового сеанса отладки используйте команду расширения отладчика , !analyze. В режиме ядра команда !analyze отображает сведения о последней проверке ошибок. Чтобы отобразить дополнительные сведения для выявления драйвера сбоя, добавьте параметр -v в команду в командной строке kd> :
kd> !analyze -v
Помимо !analyze, вы можете ввести следующие расширения отладчика в запросе kd> , чтобы просмотреть сведения, относящиеся к средство проверки драйверов:
!verifier выводит дампы захваченной статистики средства проверки драйверов. Используйте !verifier -? для отображения всех доступных параметров.
kd> !verifier!взаимоблокировка отображает сведения, связанные с блокировками или объектами, отслеживаемыми функцией обнаружения взаимоблокировки средства проверки драйверов. Используйте !deadlock -? для отображения всех доступных параметров.
kd> !deadlock!iovirp [адрес] отображает информацию, связанную с IRP, которую отслеживает I/O Verifier. Рассмотрим пример.
kd> !iovirp 947cef68Найдите правило проверки на соответствие DDI, которое было нарушено. (RuleID всегда является первым аргументом проверки ошибки.) Все идентификаторы правил из проверки соответствия DDI находятся в форме 0x200nn.
Дальнейшие шаги
Теперь, когда вы понимаете основы средства проверки драйверов, изучите следующие связанные разделы:
- Параметры средства проверки драйверов — настройка сценариев расширенного тестирования
- Использование средства проверки драйверов — расширенные шаблоны использования и рекомендации
- Проверка соответствия DDI . Общие сведения о правилах соответствия требованиям и нарушениях
- Средства отладки для Windows — настройка отладки ядра для средства проверки драйверов
Техническая поддержка
- Синтаксис команды проверки драйвера — полный справочник по команде
- Управление проверяющим драйвером — расширенные методы управления