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


Фаззинг задержек в Power Framework

Замечание

Эта проверка устарела начиная с Windows 10 сборки 19042 и выше

Параметр фуззинга с задержкой в Power Framework случайным образом изменяет расписания потоков для обнаружения ошибок параллелизма в драйверах, использующих платформу управления питанием (PoFx). Этот параметр не рекомендуется использовать для драйверов, которые напрямую не используют платформу управления питанием (PoFx).

Заметка Этот параметр доступен начиная с Windows 8.

При выборе параметра средство проверки драйверов вставляет случайные задержки в различных точках в потоках. Опция задержки в Power Framework использует алгоритм, предоставляющий вероятностные гарантии обнаружения ошибок в драйверах. Фаззинг Задержек в Power Framework представляет улучшение по сравнению с традиционным стресс-тестированием, в рамках которого тестовая программа выполняется в течение нескольких дней или даже недель в надежде выявить проблемы, которые могут возникнуть при параллельном выполнении.

Большинство подпрограмм драйверов являются повторными и параллельными. Ошибки параллелизма, как известно, трудно найти. Ошибки могут включать взаимоблокировки и условия гонки, вызванные проблемами синхронизации и неправильным распределением времени между потоками. Стресс-тестирование является традиционным методом тестирования, но это может быть медленно и дорого, и результаты не всегда воспроизводимы. Параметр задержки Power Framework увеличивает вероятность возникновения состояний гонки во время выполнения путем вставки случайных задержек при различных вызовах функций API Power. Например, если состояние соревнования приводит к тому, что драйвер получает доступ к IRP после его отмены, опция Power Framework Delay Fuzzing увеличивает вероятность этого состояния так, что Driver Verifier сможет обнаружить ошибку во время тестирования. Параметр модуля задержки Power Framework Fuzzing расширяет возможности и полезность инструмента проверки драйверов.

активация этого параметра

Вы можете активировать функцию задержки Power Framework для одного или нескольких драйверов с помощью Диспетчера проверки драйверов или командной строки Verifier.exe. Дополнительные сведения см. в разделе "Выбор параметров средства проверки драйвера". Чтобы активировать или отключить параметр Fuzzing задержки системы энергопотребления, необходимо перезапустить компьютер.

Заметка Опция задержки Power Framework увеличивает вероятность возникновения состояний гонки во время выполнения, вставляя случайные задержки при различных вызовах функций API управления питанием. Чтобы эти задержки были более эффективными, этот параметр можно включить с другими параметрами средства проверки драйверов. Из-за задержек, которые могут быть введены, вы можете ожидать, что компьютер будет иметь более медленный ответ.

  • В командной строке

    В командной строке Power Framework Delay Fuzzing представлено командой verifier /flags 0x00008000 (бит 15). Чтобы активировать Power Framework Delay Fuzzing, используйте значение флага 0x00008000 или добавьте 0x00008000 к значению флага. Рассмотрим пример.

    verifier /flags 0x00008000 /driver MyDriver.sys
    

    Функция будет активна после следующей загрузки.

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

    1. Запустите диспетчер проверки драйверов. В окне командной строки введите средство проверки .
    2. Выберите "Создать настраиваемые параметры" (для разработчиков кода) и нажмите кнопку "Далее".
    3. Выберите отдельные параметры из полного списка.
    4. Выберите (отметьте) Power Framework Delay Fuzzing.
    5. Перезапустите компьютер.