Statische Treiberüberprüfung

Static Driver Verifier (auch als "StaticDV" oder "SDV" bezeichnet) ist ein statisches Überprüfungstool, das den Quellcode von Windows-Kernelmodustreibern systematisch analysiert. SDV ist ein Kompilierungszeittool, das Fehler und Entwurfsprobleme in einem Treiber erkennen kann. Basierend auf einer Reihe von Schnittstellenregeln und einem Modell des Betriebssystems bestimmt SDV, ob der Treiber ordnungsgemäß mit dem Windows-Betriebssystem-Kernel interagiert.

Wichtig

SDV wird nicht mehr unterstützt, und SDV ist in Windows 24H2 WDK- oder EWDK-Versionen nicht verfügbar. Sie ist in WDKs neuer als Build 26017 nicht verfügbar und nicht im Windows 24H2 RTM WDK enthalten. SDV kann weiterhin verwendet werden, indem Sie das Windows 11, Version 22H2 EWDK (veröffentlicht am 24. Oktober 2023) mit Visual Studio-Buildtools 17.1.5 aus dem Windows Driver Kit (WDK) herunterladen. Es wird nur die Verwendung von Enterprise WDK zum Ausführen von SDV empfohlen. Die Verwendung älterer Versionen des Standard-WDK in Verbindung mit den letzten Versionen von Visual Studio wird nicht empfohlen, da dies wahrscheinlich zu Analysefehlern führt.
In Zukunft wird CodeQL das primäre statische Analysetool für Treiber sein. CodeQL stellt eine leistungsstarke Abfragesprache bereit, die Code als abgefragte Datenbank behandelt, sodass Abfragen für bestimmte Verhaltensweisen, Muster und vieles mehr einfach geschrieben werden können. Weitere Informationen zur Verwendung von CodeQL finden Sie unter CodeQL und dem Logotest für statische Tools.

Installieren der Überprüfung statischer Treiber

Static Driver Verifier ist als Teil des Windows Driver Kit (WDK) sowohl in der vollständigen WDK-Erfahrung als auch im eigenständigen Enterprise WDK verfügbar. Darüber hinaus sind die Redistributable Packages für Visual Studio erforderlich, damit SDV ausgeführt werden kann. Siehe Folgendes:

Für Versionen von SDV, die im WDK für Windows 10, Version 1809 oder früher verfügbar sind, sollten die Redistributable Packages für Visual Studio 2012 anstelle der 2017-Pakete installiert werden.

Integration von Visual Studio

Static Driver Verifier ist in Visual Studio integriert. Sie können statische Analysen für Ihr Visual Studio-Treiberprojekt ausführen. Sie können statische Treiberüberprüfung über das Menü "Treiber " in Visual Studio starten, konfigurieren und steuern.

Dokumentation zur Überprüfung statischer Treiber

Suchen von Fehlern im Windows-Treibercode

Microsoft verwendet SDV, um die Kernelmodustreiber zu testen, die im Microsoft Windows-Betriebssystem enthalten sind, und um die Beispieltreiber im WDK zu testen. Mithilfe der DDI-Complianceregeln für bestimmte Treibermodelle kann SDV das richtige Treiberverhalten überprüfen. Beispielsweise kann SDV überprüfen, ob der Treiber:

  • Ruft Funktionen am richtigen IRQL auf.
  • Erwerben und Loslassen von Sperren in der richtigen Reihenfolge
  • Verwendet ordnungsgemäß Funktionen, die E/A-Anforderungspakete (IRP) verarbeiten

SDV untersucht alle möglichen Pfade über den Treibercode. Es wurde entwickelt, um schwerwiegende Fehler in verdeckten Pfaden zu finden, die auch bei gründlichen Tests unwahrscheinlich sind.

Zusätzliche Ressourcen

Spezifische Informationen zu den Treibern, die SDV überprüfen kann, finden Sie unter "Unterstützte Treiber".

Weitere Informationen und Tipps zur Verwendung von Static Driver Verifier finden Sie in den folgenden Themen: