Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
Von Bedeutung
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 von Download the 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 Visual C++ Redistributable Packages für Visual Studio erforderlich, damit SDV ausgeführt werden kann. Siehe Folgendes:
Visual Studio-Integration
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
- Bekannte Probleme mit statischer Treiberüberprüfung: Listet die neuesten bekannten Probleme für die Überprüfung statischer Treiber auf.
- Verwenden der Statischen Treiberüberprüfung zum Auffinden von Fehlern in Treibern: Teilt Ihnen mit, was Sie benötigen, um den Treibercode in der Visual Studio-Umgebung zu analysieren.
- Statische Treiberüberprüfungsbefehle (MSBuild): Listet die MSBuild-Befehle auf, die zum Ausführen von SDV in einem Visual Studio-Eingabeaufforderungsfenster verwendet werden sollen.
- Einführung in statische Treiberüberprüfung: Bietet eine Übersicht über das statische Analysetool.
- Verwenden von Static Driver Verifier: Enthält die Details zur Verwendung und Konfiguration des statischen Analysetools.
- Bericht "Static Driver Verifier": Beschreibt den Viewer, der die detaillierte Nachverfolgung der statischen Codeanalyse anzeigt.
- Regeln für die Überprüfung statischer Treiber: Die Regeln definieren die Anforderungen für die ordnungsgemäße Interaktion zwischen einem Treibermodell und der Kernelschnittstelle des Betriebssystems.
- Referenz zur Überprüfung statischer Treiber: Enthält Referenzinformationen zu den Funktionsrollentypen, SDV-Konfigurationsdateien, Fehler- und Warnmeldungen.
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 Fahrer:
- Ruft Funktionen am richtigen IRQL auf.
- Sperren in der richtigen Reihenfolge erwerben und freigeben
- 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.
Weitere 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: