Static Driver Verifier
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 Tool zur Kompilierzeit, das Fehler und Designprobleme 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-Betriebssystemkerneln interagiert.
Installieren der statischen Treiberüberprüfung
Static Driver Verifier ist als Teil des Windows Driver Kit (WDK) sowohl in der vollständigen WDK-Benutzeroberfläche als auch im eigenständigen Enterprise WDK verfügbar. Darüber hinaus sind die Visual C++ Redistributable-Pakete für Visual Studio erforderlich, damit SDV ausgeführt werden kann. Weitere Informationen finden Sie in den folgenden Themen:
- Visual Studio 2019-Neuverteilung
- Visual C++ Redistributable-Pakete für Visual Studio 2017
- Visual C++ Redistributable-Pakete für Visual Studio 2013
Für Versionen von SDV, die im WDK für Windows 10, Version 1809 oder früher, verfügbar sind, sollte die Visual C++ Redistributable-Pakete für Visual Studio 2012 anstelle der 2017-Pakete installiert werden.
Integration in 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 die statische Treiberüberprüfung über das Menü Treiber in Visual Studio starten, konfigurieren und steuern.
Dokumentation zur Statischen Treiberüberprüfung
- Static Driver Verifier – Bekannte Probleme: Listet die neuesten bekannten Probleme für die Statische Treiberüberprüfung auf.
- Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden: Hier erfahren Sie, was Sie benötigen, um mit der Analyse ihres Treibercodes in der Visual Studio-Umgebung zu beginnen.
- 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 die statische Treiberüberprüfung: Bietet eine Übersicht über das Statische Analysetool.
- Verwenden der statischen Treiberüberprüfung: Enthält Details zur Verwendung und Konfiguration des Tools für die statische Analyse.
- Static Driver Verifier Report: Beschreibt den Viewer, der die detaillierte Ablaufverfolgung der statischen Codeanalyse anzeigt.
- Statische Treiberüberprüfungsregeln: Die Regeln definieren die Anforderungen für die ordnungsgemäße Interaktion zwischen einem Treibermodell und der Kernelschnittstelle des Betriebssystems.
- Referenz zur statischen Treiberüberprüfung: Enthält Referenzinformationen zu den Funktionsrollentypen, SDV-Konfigurationsdateien, Fehler und Warnmeldungen.
Suchen nach 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-Kompatibilitätsregeln 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.
- Ruft Sperren in der richtigen Reihenfolge ab und gibt sie frei.
- Verwendet ordnungsgemäß Funktionen, die E/A-Anforderungspakete (IRP) verarbeiten
SDV untersucht alle möglichen Pfade durch den Treibercode. Es ist darauf ausgelegt, schwerwiegende Fehler in obskuren Pfaden zu finden, die selbst bei gründlichen Tests unwahrscheinlich sind.
Zusätzliche Ressourcen
Spezifische Informationen zu den Treibern, die von SDV überprüft werden können, finden Sie unter Unterstützte Treiber.
Weitere Informationen und Tipps zur Verwendung der statischen Treiberüberprüfung finden Sie in den folgenden Artikeln:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für