Sdílet prostřednictvím


Ověřitel statického ovladač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

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: