Interpretieren statischer Treiberüberprüfungsergebnisse

Wenn Sie die statische Treiberüberprüfung in Visual Studio starten und eine Analyse Ihres Treibers ausführen, werden die Ergebnisse in der Zusammenfassung der Ergebnisse auf der Registerkarte Haupt angezeigt.

Screenshot der Zusammenfassung der Ergebnisse in Visual Studio nach dem Ausführen der statischen Treiberüberprüfung

Statistiken

Entrypoints Gibt die Anzahl der im Treiberquellcode gefundenen Einstiegspunkte an. Einstiegspunkte sind die vom Treiber bereitgestellten Rückruf- oder Dispatchroutinen. Sie definieren die Einstiegspunkte mithilfe von Funktionsrollentypdeklarationen. Um die Analyse durchzuführen, muss SDV mindestens einen Einstiegspunkt festlegen. Weitere Informationen finden Sie unter Verwenden von Funktionsrollentypdeklarationen.

Gefundene Mängel Meldet die Anzahl der während der Analyse gefundenen Fehler. Ein Fehler ist ein Verstoß gegen eine DDI-Konformitätsregel.

Ausgeführte Tests Gibt die Anzahl der Regeln an, die während der Analyse getestet wurden. Dies sind die Regeln, die Sie auf der Registerkarte Regeln auswählen.

Status

Meldet die status der Analyse. Nach Abschluss können Sie die gefundenen Ergebnisse überprüfen.

Ergebnisse

Abgeschlossen (Regel)
SDV testete den Treiber auf Verstoß gegen die Regel, konnte jedoch keinen Verstoß gegen die Regel nachweisen.

Dieses Ergebnis bedeutet nicht, dass der Treiber fehlerfrei ist. Es bedeutet nur, dass SDV nicht nachweisen konnte, dass es gegen die Regel im Überprüfungsdurchgang verstoßen hat.

Defekt
Wenn SDV einen oder mehrere Fehler gemeldet hat, klicken Sie auf den Link Fehler , um den Static Driver Verifier Report zu verwenden , um die Ablaufverfolgung des Fehlers anzuzeigen.

Nicht zutreffend
SDV hat den Treiber auf Verstoß gegen die Regel getestet, aber der Treiber unterstützte nicht den Einstiegspunkt, der für die Analyse erforderlich ist, oder der Treiber hat die Von der Regel überwachte Funktion nicht aufgerufen.

Wenn die Regel ein bestimmtes Argument in einem Funktionsaufruf überwacht (in der Regel ein Zeiger auf eine Ressource), und der Treiber die Funktion nicht aufruft oder nicht auf dieses Argument verweist, gilt die Regel nicht für den Treiber.

Wenn der Treiber die Einstiegspunkte angibt und die von der Regel überwachten Funktionen aufruft, kann dieses Ergebnis darauf hindeuten, dass SDV den Einstiegspunkt nicht gefunden oder nicht richtig interpretiert hat. Um zu bestätigen, dass diese Situation aufgetreten ist, überprüfen und korrigieren Sie ggf. die Datei Sdv-map.h . Informationen zu diesem Verfahren finden Sie unter Scannen des Treibers.

Weitere Informationen zu den einzelnen Regeln finden Sie unter Static Driver Verifier Rules.For more information about each rule, see the Static Driver Verifier Rules reference.

Führen Sie eine Überprüfung mit anderen Regeln durch, um den Treiber weiter zu untersuchen.

Timeouts
SDV hat die Überprüfung der Regel beendet, da sie ihr Zeitlimit für die Überprüfung jeder Regel überschritten hat. Das Zeitlimit wird in der Optionsdatei für statische Treiberüberprüfung oder im Feld Maximale Zeit auf der Registerkarte Konfiguration festgelegt.

Ein Timeout gilt als nicht schlüssiges Ergebnis. Es weist nicht auf einen Treiberfehler hin. Wenn SDV ein Timeout meldet, verlängern Sie die zulässige Zeit für die Überprüfung (der SDV_SlamConfig_Timeout Wert in der datei sdv-default.xml), und führen Sie die Überprüfung erneut aus.

Completed (Eigenschaft)
SDV hat die Treibereigenschaftenregel für den angegebenen Treiber ausgeführt. Eine Treibereigenschaftsregel prüft auf Treiberfunktionen oder unterstützte Features und ist ein Auftakt für weitere Analysen. Beispielsweise überprüft die Treibereigenschaftsregel CancelRoutine, ob der WDM-Treiber eine Cancel-Routine registriert hat. Wenn eine Cancel-Routine nicht erkannt wird, gelten bestimmte WDM-Regeln nicht. Dies bedeutet, dass die Treibereigenschaft nicht erfüllt wurde.

Satisfied (Eigenschaft)
SDV hat die Treibereigenschaftenregel für den angegebenen Treiber ausgeführt. Eine Treibereigenschaftsregel prüft auf Treiberfunktionen oder unterstützte Features und ist ein Auftakt für weitere Analysen. Beispielsweise überprüft die Treibereigenschaftsregel CancelRoutine, ob der WDM-Treiber eine Cancel-Routine registriert hat. Wenn eine Cancel-Routine erkannt wird, gelten bestimmte WDM-Regeln. Dies bedeutet, dass die Treibereigenschaft erfüllt war.

Leerzeichen
Die Anzahl von Regeln, die SDV nicht mehr überprüft hat, weil sie den Arbeitsspeichergrenzwert für die Überprüfung der Regel überschritten hat. Das Speicherlimit wird in der Optionsdatei für statische Treiberüberprüfungen sdv-default.xml festgelegt.

Ein Leerzeichen gilt als nicht schlüssiges Ergebnis. Wenn SDV ein Leerzeichen meldet, erweitern Sie den für die Überprüfung zugewiesenen Speicherplatz (der SDV_SlamConfig_Spaceout Wert in der sdv-default.xml-Datei), und führen Sie die Überprüfung erneut aus.

Andere

Die Häufigkeit, mit der SDV einen internen Fehler gefunden hat, von dem es nicht wiederhergestellt werden konnte. Weitere Informationen zu Fehlern und Zum Debuggen finden Sie auf der Seite Statische Treiberüberprüfung .