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.
Static Driver Verifier (označovaný také jako "StaticDV" nebo "SDV") je statický ověřovací nástroj, který systematicky analyzuje zdrojový kód ovladačů v režimu jádra Windows. SDV je nástroj pro kompilaci, který dokáže odhalit chyby a problémy návrhu v ovladači. Na základě sady pravidel rozhraní a modelu operačního systému určuje SDV, zda ovladač správně komunikuje s jádrem operačního systému Windows.
Důležité
SDV se už nepodporuje a SDV není k dispozici ve verzích Windows 24H2 WDK nebo EWDK. Není k dispozici v wdk novější než build 26017 a není součástí windows 24H2 RTM WDK.
SDV lze stále používat stažením Windows 11 verze 22H2 EWDK, vydaného 24. října 2023, s nástroji Visual Studio Build Tools 17.1.5 z Stáhnout sadu Windows Driver Kit (WDK). Doporučuje se pouze použití sady Enterprise WDK ke spuštění SDV. Použití starších verzí standardní sady WDK ve spojení s nedávnými verzemi sady Visual Studio se nedoporučuje, protože to bude pravděpodobně mít za následek selhání analýzy.
V budoucnu bude CodeQL primárním nástrojem pro statickou analýzu ovladačů. CodeQL poskytuje výkonný dotazovací jazyk, který zpracovává kód jako databázi, která se má dotazovat, což usnadňuje psaní dotazů pro konkrétní chování, vzory a další.
Další informace o použití CodeQL naleznete v tématu CodeQL a Static Tools Logo Test.
Instalace ověřovatele statického ovladače
Statický Ověřovač Ovladače je k dispozici jako součást sady Windows Driver Kit (WDK) v plné verzi WDK i v samostatném podniku Enterprise WDK. Kromě toho jsou distribuovatelné balíčky Visual C++ pro Visual Studio nutné ke spuštění SDV. Projděte si následující:
Integrace sady Visual Studio
Nástroj Static Driver Verifier je integrovaný do sady Visual Studio. Statickou analýzu můžete spustit v projektu ovladače sady Visual Studio. Statics Driver Verifier můžete spustit, konfigurovat a řídit z nabídky Řidič v sadě Visual Studio.
Dokumentace k ověření statického ovladače
- Známé problémy s ověřením statického ovladače: Uvádí nejnovější známé problémy pro ověření statického ovladače.
- Použití nástroje Static Driver Verifier k vyhledání vad v ovladačích: Sděluje, co potřebujete, abyste mohli začít analyzovat kód ovladače v prostředí sady Visual Studio.
- Statické příkazy pro ověření ovladače (MSBuild):: Vypíše příkazy MSBuild, které se mají použít ke spuštění SDV v okně příkazového řádku sady Visual Studio.
- Představujeme statický ověřovač ovladače: Poskytuje přehled nástroje pro statickou analýzu.
- Použití ověření statického ovladače: Poskytuje podrobnosti o použití a konfiguraci nástroje pro statickou analýzu.
- Sestava Statického Ověření Driverů: Popisuje prohlížeč, který zobrazuje podrobný průběh analýzy statického kódu.
- Pravidla ověření statického ovladače: Pravidla definují požadavky pro správnou interakci mezi modelem ovladače a rozhraním jádra operačního systému.
- Referenční informace o ověřiteli statického ovladače: Poskytuje referenční informace o typech rolí funkcí, konfiguračních souborech SDV, chybách a upozorněních.
Hledání chyb v kódu ovladače systému Windows
Microsoft používá SDV k otestování ovladačů v režimu jádra, které jsou součástí operačního systému Microsoft Windows, a k otestování ukázkových ovladačů v WDK. Pomocí pravidel dodržování předpisů DDI pro konkrétní modely ovladačů může SDV ověřit správné chování ovladače. SDV může například ověřit, že ovladač:
- Volání funkcí ve správném prostředí IRQL
- Získá a uvolní zámky ve správném pořadí.
- Správně používá funkce, které zpracovávají pakety požadavků na vstupně-výstupní operace (IRP).
SDV zkoumá všechny možné cesty prostřednictvím kódu ovladače. Je navržena tak, aby našla závažné chyby v nejasných cestách, ke kterým pravděpodobně nedojde ani při důkladném testování.
Dodatečné zdroje
Konkrétní informace o ovladačích, které může SDV ověřit, najdete v tématu Podporované ovladače.
Další informace a tipy k používání nástroje Static Driver Verifier najdete v následujících tématech: