Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Driver Verifier je nástroj pro ověřování za běhu, který zvyšuje efektivitu testování ovladačů. Při nasazování ovladače pro testování můžete povolit a nakonfigurovat nástroj Driver Verifier tak, aby běžel na všech testovacích počítačích.
Při povolení nástroje Driver Verifier na vzdáleném testovacím počítači byste měli vždy nastavit připojení k ladění režimu jádra s testovacím počítačem. Informace o konfiguraci cílového počítače a nastavení ladicího kabelu naleznete v tématu Začínáme s laděním systému Windows.
Nastavení vlastností ověřovatele ovladače pro projekty balíčků ovladačů
- Otevřete stránky vlastností balíčku ovladače. V Průzkumníku řešení vyberte a podržte projekt balíčku ovladače (nebo na ho klikněte pravým tlačítkem myši) a vyberte Vlastnosti.
- Na stránkách vlastností balíčku ovladače vyberte Vlastnosti konfigurace, vyberte Nainstalovat ovladač a pak vyberte Ověření ovladače.
- Vyberte možnost Povolit ověření ovladače . Pokud je tato možnost vybrána, můžete vybrat ovladač nebo ovladače, které chcete ověřit na testovacím počítači, a můžete vybrat možnosti ověření ovladače , které chcete použít.
Konfigurace a platforma projektu
Seznam konfigurace a seznam platforem umožňují použít různá nastavení nasazení pro různé kombinace konfigurace projektu a platformy. Můžete například nasadit ovladač do jednoho testovacího počítače pomocí sady možností nasazení pro ladění sestavení a do jiného testovacího počítače pomocí možností nasazení pro sestavení vydaných verzí.
Povolení ověřovatele ovladačů
Ověřitel ovladačů můžete povolit na testovacím počítači pro všechny ovladače v počítači, pouze pro projekt ovladače nebo pro seznam zadaných ovladačů. Můžete například povolit nástroj Driver Verifier na sadě ovladačů ve stacku pro konkrétní zařízení.
Ověření ovladačů
Určuje, který ovladač nebo ovladače se mají ověřit na testovacím počítači.
Všechny ovladače
Určuje, že nástroj Pro ověření ovladače ověřuje všechny nainstalované ovladače na vzdáleném testovacím počítači.
Výstup projektu
Určuje, že nástroj Pro ověření ovladače ověří projekt ovladače nainstalovaný na vzdáleném testovacím počítači. Toto je výchozí možnost.
Seznam ovladačů
Určuje ovladač nebo seznam ovladačů, které ověřuje ověřovač ovladačů na vzdáleném testovacím počítači. Můžete například zobrazit seznam všech ovladačů přidružených k určitému zařízení. Zadejte ovladače podle binárního názvu, například Driver.sys. K oddělení seznamu ovladačů použijte středník. Zástupné hodnoty, jako je například n*.sys, nejsou podporovány.
Standardní příznaky pro ověření ovladače
Na testovacím počítači můžete nakonfigurovat následující možnosti ověření ovladače.
Kontrola dodržování předpisů DDI (Windows 8)
Pokud je tato možnost aktivní, ovladač Verifier použije sadu pravidel rozhraní ovladače zařízení (DDI), která kontrolují správnou interakci mezi ovladačem a rozhraním jádra operačního systému.
Detekce vzájemného zablokování
Pokud je tato možnost aktivní, Driver Verifier monitoruje použití spinových zámků, mutexů a rychlých mutexů. Zjistí, jestli kód ovladače může v určitém okamžiku způsobit zablokování.
-
Pokud je tato možnost aktivní, nástroj Driver Verifier monitoruje použití rutin přímého přístupu do paměti (DMA). Zjistí se tak nesprávné použití vyrovnávacích pamětí DMA, adaptérů a registrů map.
-
Když je tato možnost aktivní, nástroj Driver Verifier vytvoří na ovladač extrémní zatížení paměti zneplatněním stránkovacího kódu. Pokud se ovladač pokusí získat přístup ke stránkované paměti v nesprávném prostředí IRQL nebo při držení spinlocku, Driver Verifier toto chování zjistí.
Ověřování vstupně-výstupních operací
Pokud je tato možnost aktivní, nástroj Driver Verifier přidělí pakety žádosti o přerušení ovladače (IRPs) ze speciálního fondu a monitoruje zpracování vstupně-výstupních operací ovladače. Tím se zjistí nezákonné nebo nekonzistentní použití vstupně-výstupních rutin. Nástroj Driver Verifier také monitoruje volání několika rutin I/O Manageru a provádí zátěžové testování PNP (Plug-and-Play) IRPs, power IRPs a WMI IRPs.
-
Pokud je tato možnost aktivní, Driver Verifier hledá běžné příčiny pádů ovladačů, jako je například nesprávné zacházení s uvolněnou pamětí.
-
Pokud je tato možnost aktivní, ověřovač ovladače zkontroluje, zda ovladač uvolnil všechny své přidělené paměti, když se uvolní. Tím se odhalí úniky paměti.
-
Pokud je tato možnost aktivní, nástroj Driver Verifier hledá běžné chyby, které můžou vést k ohrožením zabezpečení, například odkaz na adresy uživatelského režimu rutinami režimu jádra.
-
Pokud je tato možnost aktivní, Driver Verifier přidělí většinu požadavků na paměť ovladače ze speciální paměťové oblasti. Tento speciální fond se monitoruje pro přetečení paměti, podtečení paměti a paměť, ke které se přistupuje po uvolnění.
Konkrétní nastavení scénáře ověření ovladače
-
Pokud je tato možnost aktivní, Driver Verifier náhodně zaznamenává selhání žádostí o alokaci fondu a dalších žádostí o prostředky. Vložením těchto chyb přidělení do systému program Driver Verifier otestuje schopnost ovladače vyrovnat se se situací s nízkými prostředky.
Vynucení čekajících vstupně-výstupních požadavků
Pokud je tato možnost aktivní, Driver Verifier testuje reakci ovladače na návratové hodnoty STATUS_PENDING tím, že pro náhodná volání IoCallDriver vrací STATUS_PENDING.
-
Pokud je tato možnost aktivní, nástroj Driver Verifier monitoruje použití IRP ovladače a vytvoří záznam použití IRP.
Invariantní kontrola MDL pro stack (Windows 8)
Možnost Invariant MDL – kontrola zásobníku monitoruje, jak ovladač zpracovává invariantní vyrovnávací paměti MDL v zásobníku ovladačů. Verifikátor ovladače dokáže rozpoznat neplatnou změnu invariantních vyrovnávacích pamětí MDL. Pokud chcete tuto možnost použít, musí být u alespoň jednoho ovladače povolené ověřování vstupně-výstupních operací.
Kontrolování invariantů MDL pro ovladače (Windows 8)
Volba Invariant MDL Checking for Driver monitoruje, jak ovladač zpracovává invariantní vyrovnávací paměti MDL na úrovni jednotlivých ovladačů. Tato možnost detekuje neplatnou úpravu invariantních vyrovnávacích pamětí MDL. Pokud chcete tuto možnost použít, musíte povolit ověřování vstupně-výstupních operací alespoň u jednoho ovladače.
Fuzzing prodlení v Power Frameworku (Windows 8)
Pokud je tato možnost aktivní, Driver Verifier náhodně mění plány vláken, aby pomohl odhalit chyby souběžnosti v ovladači.
Selhání injekcí založené na zásobníku (Windows 8)
Možnost injekce selhání založená na zásobníku injektuje selhání prostředků v ovladačích režimu jádra. Tato možnost používá speciální ovladač, KmAutoFail.sys, ve spojení s Driver Verifier k průniku do cest zpracování chyb ovladače.
PoznámkaInjekce selhání založená na zásobníku nelze kombinovat s simulací nízkých prostředků.
Možnosti ověření ovladače, které vyžadují ověřování vstupně-výstupních operací
Existují čtyři možnosti, které vyžadují, abyste nejprve povolili ověřování vstupně-výstupních operací. Pokud není povolené ověřování vstupně-výstupních operací, tyto možnosti nejsou povolené.
- Vynucení nevyřízených I/O požadavků
- IRP protokolování
- Invariantní kontrola MDL pro stack
- Invariantní kontrola MDL pro ovladač