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 Entwurfsprobleme in einem Treiber erkennen kann. Basierend auf einem Satz von Schnittstellenregeln und einem Modell des Betriebssystems bestimmt SDV, ob der Treiber ordnungsgemäß mit dem Windows Betriebssystemkernel interagiert.

Installieren der statischen Treiberüberprüfung

Die statische Treiberüberprüfung 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:

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

Integration in Visual Studio

Die statische Treiberüberprüfung 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 Ü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-Konformitätsregeln für bestimmte Treibermodelle kann SDV das richtige Treiberverhalten überprüfen. Beispielsweise kann SDV überprüfen, ob der Treiber:

  • Ruft Funktionen an der richtigen IRQL auf.
  • Erwirbt und gibt Sperren in der richtigen Reihenfolge frei.
  • Verwendet ordnungsgemäß Funktionen, die E/A-Anforderungspakete (IRP) verarbeiten.

SDV untersucht alle möglichen Pfade durch den Treibercode. Es wurde entwickelt, um schwerwiegende Fehler in verborgenen Pfaden zu finden, die wahrscheinlich nicht einmal bei gründlichen Tests auftreten werden.

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 der statischen Treiberüberprüfung finden Sie in den folgenden Themen: