Sdílet prostřednictvím


Zpoždění synchronizace jádra fuzzing

Poznámka:

Tato kontrola je zastaralá od verze Windows 10 Build 19042 a novější.

Možnost zpoždění synchronizace jádra náhodně upravuje plány vláken, aby pomohla odhalit chyby souběžnosti v ovladačích.

Opatrnost Tato možnost není určená k použití při ověřování všech (nebo velkých kolekcí) ovladačů v počítači. Tuto možnost byste měli použít jenom v případě, že provádíte cílené testování jednotlivých ovladačů nebo jejich připojených ovladačů filtru. Použití této možnosti u velkého počtu ovladačů najednou může způsobit nepředvídatelné výsledky a může způsobit chybové ukončení komponent nesouvisejících s ovladači, které testujete.

Poznámka Tato možnost je dostupná od Windows 8.1.

Pokud je tato možnost vybrána, nástroj Driver Verifier vloží náhodná zpoždění v různých bodech ve vláknech. Podobně jako možnost fuzzingu zpoždění v Power Frameworku používá možnost fuzzingu synchronizace zpoždění jádra algoritmus, který pomáhá zlepšit šance na nalezení chyb v ovladačích. Zpoždění při synchronizaci jádra zdokonaluje tradiční zátěžové testování, kde se testovací program spouští po dny nebo dokonce týdny s nadějí, že odhalí problémy, které mohou nastat při souběžném provádění.

aktivovat tuto možnost

Funkci rozostření časování synchronizace jádra můžete aktivovat pro jeden či více ovladačů pomocí Správce ověřování ovladače nebo příkazu Verifier.exe. Podrobnosti najdete v tématu Výběr možností ověření ovladače. Chcete-li aktivovat nebo deaktivovat možnost Fuzzing se zpožděním ve Frameworku napájení, je nutné restartovat počítač.

Poznámka Možnost fuzzingu zpoždění synchronizace jádra zvyšuje pravděpodobnost výskytu podmínek soutěže při běhu programu vložením náhodných zpoždění u různých volání funkcí API jádra. Aby tato zpoždění byla efektivnější, můžete tuto možnost povolit s dalšími možnostmi ověřovatele ovladačů. Vzhledem ke zpožděním, která je možné zavést, můžete očekávat, že počítač bude mít pomalejší odezvu.

  • Na příkazovém řádku

    Na příkazovém řádku je zpoždění synchronizace kernelu reprezentováno verifikátorem /flags 0x00800000 (bit 23). Pokud chcete aktivovat zpoždění fuzzingu Power Frameworku, použijte příznakový hodnotu 0x00800000 nebo přidejte 0x00800000 k současné hodnotě příznaku. Například:

    verifier /flags 0x00800000 /driver MyDriver.sys
    

    Funkce bude aktivní po dalším spuštění.

  • Použití Správce ověřovatele ovladačů

    1. Spusťte Správce ověřovatele ovladačů. Do okna příkazového řádku zadejte ověřitel .
    2. Vyberte Vytvořit vlastní nastavení (pro vývojáře kódu) a potom klikněte na Další.
    3. Vyberte jednotlivá nastavení z úplného seznamu.
    4. Vyberte (zaškrtněte) Zpoždění synchronizace jádra (fuzzing).
    5. Restartujte počítač.

Proč fuzzování zpoždění při synchronizaci jádra?

Většina rutin ovladačů je reentrantní a souběžná. Chyby související s souběžností se obtížně hledají. Chyby můžou zahrnovat zablokování a podmínky časování způsobené problémy se synchronizací a špatným načasováním mezi vlákny. Zátěžové testování je tradiční testovací technika pro nalezení těchto chyb, ale může to být pomalé a nákladné a výsledky nejsou vždy reprodukovatelné. Možnost zpoždění synchronizace jádra zvyšuje pravděpodobnost výskytu závodních podmínek za běhu vložením náhodných zpoždění v různých voláních funkcí rozhraní API jádra. Pokud například závodní podmínka způsobí, že ovladač přistupuje k IRP po jeho zrušení, možnost fuzzingu zpoždění synchronizace jádra zvyšuje pravděpodobnost této situace tak, aby nástroj Driver Verifier během testování zjistil chybu. Možnost zpoždění synchronizace jádra vylepšuje výkon a efektivitu nástroje Driver Verifier.