Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Средство проверки драйверов — это средство проверки во время выполнения, которое повышает эффективность тестирования драйверов. Вы можете включить и настроить средство проверки драйверов для запуска на всех тестовых компьютерах при развертывании драйвера для тестирования.
Когда вы включаете средство проверки драйверов на удаленном тестовом компьютере, всегда следует настроить подключение для отладки в режиме ядра. Сведения о настройке целевого компьютера и настройке кабеля отладки см. в статье "Начало работы с Отладкой Windows".
Настройка свойств средства проверки драйверов для проектов пакетов драйверов
- Откройте страницы свойств для пакета драйвера. Выберите и удерживайте (или щелкните правой кнопкой мыши) проект пакета драйвера в обозревателе решений и выберите "Свойства".
- На страницах свойств пакета драйверов выберите "Свойства конфигурации", выберите "Установить драйвер" и выберите "Проверка драйвера".
- Выберите параметр "Включить проверку драйвера ". При выборе этого параметра можно выбрать драйвер или драйверы для проверки на тестовом компьютере, а также выбрать параметры средства проверки драйверов для использования.
Конфигурация проекта и платформа
Список конфигураций и список платформ позволяют применять различные параметры развертывания для различных сочетаний конфигурации проекта и платформы. Например, можно развернуть драйвер на одном тестовом компьютере с помощью набора параметров развертывания для отладочных сборок и на другом тестовом компьютере с помощью параметров развертывания для сборок выпуска.
Включение средства проверки драйверов
Вы можете включить средство проверки драйверов на тестовом компьютере для всех драйверов на компьютере, только для проекта драйвера или для списка указанных драйверов. Например, может потребоваться включить средство проверки драйверов для набора драйверов в стеке для определенного устройства.
Проверка драйверов
Указывает, какой драйвер или драйверы необходимо проверить на тестовом компьютере.
Все драйверы
Указывает, что средство проверки драйверов проверяет все установленные драйверы на удаленном тестовом компьютере.
Выходные данные проекта
Указывает, что средство проверки драйверов проверяет проект драйвера, установленный на удаленном тестовом компьютере. Это параметр по умолчанию.
Список драйверов
Определяет драйвер или список драйверов, которые Driver Verifier проверяет на удаленном тестовом компьютере. Например, можно перечислить все драйверы, связанные с определенным устройством. Укажите драйверы по имени двоичного файла, например Driver.sys. Используйте точку с запятой для разделения списка драйверов. Подстановочные знаки, такие как n*.sys, не поддерживаются.
Стандартные флаги проверяющего драйвера
На тестовом компьютере можно настроить следующие параметры средства проверки драйверов.
Проверка соответствия DDI (Windows 8)
Если этот параметр активен, средство проверки драйверов применяет набор правил интерфейса драйвера устройства (DDI), которые проверяют правильное взаимодействие между драйвером и интерфейсом ядра операционной системы.
-
Если этот параметр активен, средство проверки драйверов отслеживает использование драйверов блокировки спина, мьютексов и быстрых мьютексов. Это определяет, может ли код драйвера вызвать взаимоблокировку в определённый момент.
-
Если этот параметр активен, средство проверки драйверов отслеживает использование драйвером подпрограмм прямого доступа к памяти (DMA). Это обнаруживает неправильное использование буферов DMA, адаптеров и регистров карт.
Принудительная проверка уровня IRQL
Если этот параметр активен, средство проверки драйверов оказывает крайнее давление на память драйвера, недействив код страницы. Если драйвер пытается получить доступ к страничной памяти в неправильном IRQL или при удержании блокировки спина, средство проверки драйверов обнаруживает это поведение.
-
Если этот параметр активен, средство проверки драйверов выделяет пакеты запросов на прерывание драйвера (IRPs) из специального пула и отслеживает обработку ввода-вывода драйвера. Это обнаруживает незаконное или несогласованное использование подпрограмм ввода-вывода. Средство проверки драйверов также отслеживает вызовы нескольких подпрограмм диспетчера ввода-вывода и выполняет стресс-тестирование PnP IRP, Power IRP и WMI IRP.
-
Если этот параметр активен, средство проверки драйверов ищет распространенные причины сбоя драйвера, например неправильное использование освобожденной памяти.
-
Если этот параметр активен, средство проверки драйверов проверяет, освобождает ли драйвер все выделения памяти при выгрузке. Это показывает утечки памяти.
-
Если этот параметр активен, средство проверки драйверов ищет распространенные ошибки, которые могут привести к уязвимостям безопасности, например ссылку на адреса в пользовательском режиме по подпрограммам в режиме ядра.
-
Если этот параметр активен, средство проверки драйверов выделяет большинство запросов памяти драйвера из специального пула. Этот специальный пул отслеживается для переполнения памяти, недостаточного выполнения памяти и памяти, доступ к которым осуществляется после освобождения.
Параметры сценария проверки драйверов
-
Если этот параметр активен, средство проверки драйверов случайно завершает запросы на выделение пула и другие запросы ресурсов. Введя эти ошибки распределения в систему, средство проверки драйверов проверяет способность водителя справиться с низкой ситуацией с ресурсом.
Принудительное ожидание запросов ввода-вывода
Если этот параметр активен, средство проверки драйверов тестирует отклик драйвера на возвращаемое значение STATUS_PENDING, возвращая STATUS_PENDING для случайных вызовов IoCallDriver.
-
Если этот параметр активен, верификатор драйверов отслеживает использование IRP драйвера и создает журнал использования IRP.
Инвариантная проверка MDL для стека (Windows 8)
Параметр "Инвариантная проверка MDL для стека" отслеживает, как драйвер обрабатывает инвариантные буферы MDL в стеке драйверов. Средство проверки драйверов может обнаружить незаконное изменение инвариантных буферов MDL. Чтобы использовать этот параметр, проверка ввода-вывода должна быть включена по крайней мере на одном драйвере.
Инвариантная проверка MDL для драйвера (Windows 8)
Параметр "Проверка инвариантности MDL для драйвера" контролирует, как драйвер обрабатывает инвариантные буферы MDL для каждого драйвера. Этот параметр обнаруживает незаконное изменение инвариантных буферов MDL. Чтобы использовать этот параметр, необходимо включить проверку ввода-вывода по крайней мере на одном драйвере.
Фаззинг задержек в Power Framework (Windows 8)
Если этот параметр активен, средство проверки драйверов случайным образом определяет расписания потоков, чтобы помочь удалить ошибки параллелизма в драйвере.
Внедрение сбоев на основе стека (Windows 8)
Опция внедрения сбоев на основе стека вызывает отказ ресурсов в драйверах режима ядра. Этот параметр использует специальный драйвер KmAutoFail.sysвместе с Driver Verifier для изучения путей обработки ошибок драйвера.
Заметка Невозможно объединить внедрение сбоев на основе стека с имитацией низких ресурсов.
Параметры средства проверки драйверов, требующие проверки ввода-вывода
Существует четыре варианта, которые требуют, чтобы сначала включить проверку ввода-вывода. Если проверка ввода-вывода не включена, эти параметры не включены.
- Принудительное ожидание запросов ввода-вывода
- Ведение журнала IRP
- Инвариантная проверка MDL для стека
- Инвариантная проверка MDL для драйвера