Udostępnij przez


Opóźnienie rozmycie struktury Power Framework

Uwaga / Notatka

To sprawdzenie jest przestarzałe, począwszy od systemu Windows 10 Build 19042 lub nowszego

Opcja fuzzingu opóźnienia struktury Power Framework losowo zmienia harmonogramy wątków, aby ułatwić wykrywanie usterek współbieżności w sterownikach korzystających ze struktury zarządzania energią (PoFx). Ta opcja nie jest zalecana w przypadku sterowników, które nie korzystają bezpośrednio z struktury zarządzania energią (PoFx).

Uwaga Ta opcja jest dostępna od systemu Windows 8.

Po wybraniu opcji weryfikator sterowników wstawia losowe opóźnienia w różnych punktach wątków. Fuzzing opóźnień w ramach Power Framework wykorzystuje algorytm zapewniający probabilistyczne gwarancje wykrywania błędów w sterownikach. Poprawione opóźnieniowe fuzzing w Power Framework ulepsza tradycyjne testy przeciążeniowe, gdzie program testowy jest uruchamiany przez kilka dni lub nawet tygodni, aby wychwycić problemy mogące wystąpić podczas równoczesnego wykonywania.

Większość procedur sterowników jest powtarzana i współbieżna. Błędy współbieżności są notorycznie trudne do wykrycia. Usterki mogą obejmować zakleszczenia i warunki wyścigu spowodowane problemami z synchronizacją i nieprawidłowym czasem między wątkami. Testy obciążeniowe to tradycyjna technika testowania, ale może być niska i kosztowna, a wyniki nie zawsze są powtarzalne. Opcja Opóźnione fuzzowanie Power Framework zwiększa prawdopodobieństwo wystąpienia sytuacji wyścigu w czasie wykonywania poprzez wstawianie losowych opóźnień przy różnych wywołaniach funkcji API zasilania. Jeśli na przykład warunek wyścigu powoduje, że kierowca uzyskuje dostęp do protokołu IRP po jego anulowaniu, opcja Opóźnij rozmycie struktury Power Framework zwiększa prawdopodobieństwo tego stanu wyścigu w taki sposób, że weryfikator sterownika wykryje błąd podczas testowania. Opcja Opóźnij rozmycie struktury Power Framework rozszerza moc i użyteczność weryfikatora sterowników.

Aktywowanie tej opcji

Możesz aktywować funkcję „Delay Fuzzing” struktury Power Framework dla co najmniej jednego sterownika, używając Menedżera weryfikacji sterowników lub polecenia w wierszu komend Verifier.exe. Aby uzyskać szczegółowe informacje, zobacz Wybieranie opcji weryfikatora sterowników. Aby aktywować lub dezaktywować opcję Opóźnij rozmycie programu Power Framework, należy ponownie uruchomić komputer.

Uwaga Opcja fuzzingu z opóźnieniem w ramach Power Framework zwiększa prawdopodobieństwo wystąpienia stanów wyścigu podczas działania przez wstawianie losowych opóźnień przy wywoływaniu różnych funkcji interfejsu API zasilania. Aby opóźnienia były bardziej skuteczne, można włączyć tę opcję z innymi opcjami weryfikatora sterowników. Ze względu na opóźnienia, które można wprowadzić, można oczekiwać, że komputer będzie miał wolniejsze odpowiedzi.

  • W wierszu polecenia

    W wierszu polecenia Power Framework Delay Fuzzing jest reprezentowany przez verifier /flags 0x00008000 (bit 15). Aby aktywować funkcję Power Framework Delay Fuzzing, użyj wartości flagi 0x00008000 lub dodaj 0x00008000 do wartości flagi. Przykład:

    verifier /flags 0x00008000 /driver MyDriver.sys
    

    Funkcja będzie aktywna po następnym rozruchu.

  • Korzystanie z Menedżera weryfikatora sterowników

    1. Uruchom Menedżera weryfikatora sterowników. Wpisz Weryfikator w oknie wiersza polecenia.
    2. Wybierz pozycję Utwórz ustawienia niestandardowe (dla deweloperów kodu), a następnie kliknij przycisk Dalej.
    3. Wybierz poszczególne ustawienia z pełnej listy.
    4. Wybierz (zaznacz) Power Framework Delay Fuzzing.
    5. Zrestartuj komputer.