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.
Driver Verifier ist ein Windows-Testtool, mit dem Sie Treiberprobleme erkennen können, bevor sie Systemabstürzen oder Beschädigungen verursachen. Durch die Überwachung von Kernelmodustreibern und Grafiktreibern in Echtzeit erkennt Driver Verifier illegale Funktionsaufrufe und problematische Aktionen, die Ihr System destabilisieren könnten.
Unabhängig davon, ob Sie neue Treiber entwickeln oder vorhandene Treiber beheben, bietet Driver Verifier die frühzeitigen Erkennungs- und Debuggingfunktionen, die Sie benötigen, um zuverlässige, qualitativ hochwertige Treiber zu erstellen. Dieses umfassende Handbuch behandelt alles von der grundlegenden Einrichtung bis hin zu erweiterten Debugtechniken.
- Erfahren Sie, wann und warum Sie Driver Verifier verwenden
- Einrichten der Treiberüberprüfung für Ihre Testumgebung
- Konfigurieren von Überprüfungsoptionen für Ihre spezifischen Anforderungen
- Debuggen von Verstößen und Interpretieren von Ergebnissen
- Die Anwendung bewährter Praktiken für die Workflows zur Treibertestung.
Von Bedeutung
- Das Ausführen der Treiberüberprüfung kann dazu führen, dass der Computer abstürzt.
- Führen Sie "Driver Verifier" nur auf Computern aus, die Sie zum Testen und Debuggen verwenden.
- Sie müssen auf dem Computer der Gruppe „Administratoren“ angehören, um die Treiberüberprüfung verwenden zu können.
Wo erhalte ich driver Verifier?
Sie müssen die Treiberüberprüfung nicht abrufen, da die meisten Versionen von Windows sie in %WinDir%\system32\ as Verifier.exeenthalten. (Treiberüberprüfung ist nicht in Windows 10 S enthalten. Daher empfehlen wir stattdessen das Testen des Treiberverhaltens unter Windows 10.) Driver Verifier wird nicht separat als Downloadpaket verteilt.
Informationen zu Änderungen in der Treiberüberprüfung für Windows 10 und früheren Versionen von Windows finden Sie unter Driver Verifier: What's New.
Wann sollte man den Driver Verifier verwenden?
Verwenden Sie Driver Verifier während des gesamten Entwicklungs- und Testprozesses der Treiber:
Frühe Entwicklung
- Probleme frühzeitig im Entwicklungszyklus finden, wenn sie einfacher und kostengünstiger zu korrigieren sind
- Vermeiden Sie kostspielige Verzögerungen , indem Sie Probleme abfangen, bevor sie die Produktion erreichen
Problembehandlung
- Testfehler und Computerabstürze schnell debuggen
- Identifizieren der Ursachen einer treiberbezogenen Systeminstabilität
Testen und Bereitstellen
- Überwachen des Treiberverhaltens bei der Bereitstellung für Tests mit WDK, Visual Studio und Windows Hardware Lab Kit (Windows HLK)
- Sicherstellen der Kompatibilität mit den Anforderungen des Zertifizierungskits für Windows-Hardware
Umfassende Anleitungen zum Testen von Treibern finden Sie unter "Testen eines Treibers".
Von Bedeutung
Das Windows-Hardwarekompatibilitätsprogramm erfordert CodeQL für STL-Tests (Static Tool Logo) auf unseren Client- und Serverbetriebssystemen. Wir pflegen weiterhin Unterstützung für SDV und CA für ältere Produkte. Den Partnern wird dringend empfohlen, die CodeQL-Anforderungen für den Static Tool Logo Test zu prüfen. Weitere Informationen zur Verwendung von CodeQL finden Sie unter CodeQL und dem Logotest für statische Tools.
So starten Sie die Treiberüberprüfung
Führen Sie die Treiberüberprüfung nur auf Testcomputern oder auf Computern aus, die Sie testen und debuggen. Um den größten Nutzen aus Driver Verifier zu ziehen, verwenden Sie einen Kernel-Debugger, um eine Verbindung mit dem Testcomputer herzustellen. Weitere Informationen zu Debuggingtools finden Sie unter Debugtools für Windows (WinDbg, KD, CDB, NTSD).
Starten Sie ein Eingabeaufforderungsfenster , indem Sie "Als Administrator ausführen" auswählen und " Verifier" eingeben, um den Treiberüberprüfungs-Manager zu öffnen.
Wählen Sie "Standardeinstellungen erstellen" (die Standardaufgabe) und dann "Weiter" aus.
Sie können auch "Benutzerdefinierte Einstellungen erstellen " auswählen, um aus vordefinierten Einstellungen auszuwählen oder einzelne Optionen auszuwählen. Weitere Informationen finden Sie unter Treiberüberprüfungsoptionen und Regelklassen und auswählen von Treiberüberprüfungsoptionen.
Wählen Sie unter "Überprüfen der zu überprüfenden Treiber" eines der in der folgenden Tabelle beschriebenen Auswahlschemas aus:
Auswahlmöglichkeit Empfohlene Verwendung Automatisches Auswählen nicht signierter Treiber Nützlich für Tests auf Computern, auf denen Versionen von Windows ausgeführt werden, für die keine signierten Treiber erforderlich sind. Automatisches Auswählen von Treibern, die für ältere Versionen von Windows erstellt wurden Nützlich zum Testen der Treiberkompatibilität mit neueren Versionen von Windows. Automatisches Auswählen aller auf diesem Computer installierten Treiber Bietet eine maximale Abdeckung hinsichtlich der Anzahl der Treiber, die auf einem System getestet werden. Diese Option ist nützlich für Testszenarien, in denen ein Treiber mit anderen Geräten oder Treibern auf einem System interagieren kann.
Diese Option kann auch die verfügbaren Ressourcen für den Special Pool und die Ressourcennachverfolgung erschöpfen. Das Testen aller Treiber kann sich auch negativ auf die Systemleistung auswirken.Auswählen von Treibernamen aus einer Liste In den meisten Fällen möchten Sie angeben, welche Treiber getestet werden sollen.
Wenn Sie alle Treiber in einem Gerätestapel auswählen, kann die Option " Erweiterte E/A-Überprüfung " Objekte nachverfolgen und die Compliance überprüfen, da ein E/A-Anforderungspaket (IRP) zwischen den einzelnen Treibern im Stapel übergeben wird, was eine höhere Detailebene ermöglicht, wenn ein Fehler erkannt wird.
Wählen Sie einen einzelnen Treiber aus, wenn Sie ein Testszenario ausführen, das System- oder Treiberleistungsmetriken misst, oder wenn Sie die größte Anzahl von Ressourcen zuordnen möchten, die zum Erkennen von Speicherbeschädigungs- oder Ressourcenverfolgungsproblemen (z. B. Deadlocks oder Mutexes) verfügbar sind. Die Optionen für spezielle Pools und E/A-Überprüfungen sind effektiver, wenn sie jeweils für einen Treiber verwendet werden.Wenn Sie in einer Liste "Treibernamen auswählen" ausgewählt haben, wählen Sie "Weiter" und dann einen oder mehrere bestimmte Treiber aus.
Wählen Sie "Fertig stellen" aus, und starten Sie den Computer neu.
Hinweis
Wenn Sie die Treiberüberprüfung mit Windows-Versionen 20150 bis 25126 verwenden, erhalten Sie möglicherweise einen ungültigen Statusfehler, wenn Sie ntoskrnl auswählen.
Um dieses Problem zu vermeiden, heben Sie die Auswahl von ntoskrnl auf, oder führen Sie ein Upgrade auf eine neuere Windows-Version nach Build 25126 durch.
Ausführen der Treiberüberprüfung an einer Eingabeaufforderung
Sie können die Treiberüberprüfung auch in einem Eingabeaufforderungsfenster ausführen, ohne den Treiberüberprüfungs-Manager zu starten. Verwenden Sie beispielsweise den folgenden Befehl, um "Driver Verifier" mit den Standardeinstellungen eines Treibers auszuführen, dermyDriver.sysgenannt wird:
verifier /standard /driver myDriver.sys
Weitere Informationen zu Befehlszeilenoptionen finden Sie unter Driver Verifier Command Syntax.
Wie man die Treiberüberprüfung steuert
Wählen Sie Ihre bevorzugte Methode zum Steuern der Treiberüberprüfung aus:
- Driver Verifier Manager (GUI) – Einfacher für Anfänger, visuelle Schnittstelle
- Befehlszeile – Schneller für erfahrene Benutzer, skriptfähig
Hinweis
Informationen zum Starten des Treiberüberprüfungs-Managers finden Sie im vorherigen Abschnitt zum Starten der Treiberüberprüfung .
Allgemeine Treiberüberprüfungsaufgaben
Für jede der folgenden Aktionen können Sie den Treiberüberprüfungs-Manager verwenden oder eine Befehlszeile eingeben.
So beenden oder zurücksetzen Sie die Treiberüberprüfung
Wählen Sie im Treiberüberprüfungs-Managervorhandene Einstellungen löschen und dann "Fertig stellen" aus.
oder
Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein:
verifier /resetStarten Sie den Computer neu.
So zeigen Sie die Statistiken zur Treiberüberprüfung an
Wählen Sie im Treiberüberprüfungs-Managerdie Option "Informationen zu den aktuell überprüften Treibern anzeigen" und dann "Weiter" aus. Wenn Sie " Weiter" auswählen, werden weitere Informationen angezeigt.
oder
Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein:
verifier /query
So zeigen Sie die Einstellungen für die Treiberüberprüfung an
Wählen Sie im Treiberüberprüfungs-Managervorhandene Einstellungen anzeigen und dann "Weiter" aus.
oder
Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein:
verifier /querysettings
So debuggen Sie Treiberüberprüfungsverletzungen
Verwenden Sie einen Kerneldebugger, und verbinden Sie ihn mit dem Testcomputer, um den größten Nutzen von Driver Verifier zu erzielen. Eine Übersicht über Debuggingtools für Windows finden Sie unter Debugtools für Windows (WinDbg, KD, CDB, NTSD).
Wenn driver Verifier einen Verstoß erkennt, wird eine Fehlerüberprüfung generiert, um den Computer zu beenden. Diese Aktion bietet Ihnen die meisten Informationen zum Debuggen des Problems. Wenn Sie einen Kerneldebugger mit einem Testcomputer verbinden, auf dem Driver Verifier und Driver Verifier ausgeführt wird, wird eine Verletzung erkannt, und Windows bricht in den Debugger ein und zeigt eine kurze Beschreibung des Fehlers an.
Alle Verstöße, die von der Treiberüberprüfung erkannt wurden, führen zu Fehlerüberprüfungen. Diese Prüfung ist typischerweise ein Bug Check 0xC4. Weitere Informationen finden Sie unter Debugfehlerüberprüfung 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION und Fehlerprüfung 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION.
Andere gängige Fehlerüberprüfungscodes umfassen die folgenden Codes:
- Fehlerüberprüfung 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
- Fehlerüberprüfung 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
- Fehlerüberprüfung 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
- Fehlerprüfung 0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
- Fehlerüberprüfung 0xE6: DRIVER_VERIFIER_DMA_VIOLATION
Weitere Informationen finden Sie unter Behandeln einer Fehlerüberprüfung, wenn die Treiberüberprüfung aktiviert ist.
Wenn Sie eine neue Debugsitzung starten, verwenden Sie den Debuggererweiterungsbefehl !analyze. Im Kernelmodus zeigt der Befehl "!analyze " Informationen zur neuesten Fehlerüberprüfung an. Um zusätzliche Informationen zur Identifizierung des fehlerhaften Treibers anzuzeigen, fügen Sie option -v zum Befehl an der kd-Eingabeaufforderung> hinzu:
kd> !analyze -v
Zusätzlich zu !analyze können Sie die folgenden Debuggererweiterungen an der kd-Eingabeaufforderung> eingeben, um Informationen anzuzeigen, die für die Treiberüberprüfung spezifisch sind:
!verifier gibt die erfassten Statistiken des Driver Verifiers aus. Verwenden Sie !verifier -? zum Anzeigen aller verfügbaren Optionen.
kd> !verifier!deadlock zeigt Informationen zu Sperren oder Objekten an, die von der Deadlock-Erkennungsfunktion von Driver Verifier nachverfolgt werden. Verwenden Sie !deadlock -? zum Anzeigen aller verfügbaren Optionen.
kd> !deadlock!iovirp [Adresse] zeigt Informationen zu einem von I/O Verifier nachverfolgten IRP an. Beispiel:
kd> !iovirp 947cef68Suchen Sie nach der DDI-Compliance-Prüfregel, die verletzt wurde. (RuleID ist immer das erste Argument für die Fehlerprüfung.) Alle Regel-IDs der DDI-Complianceüberprüfung befinden sich in form 0x200nn.
Nächste Schritte
Nachdem Sie die Grundlagen von Driver Verifier verstanden haben, erkunden Sie die folgenden verwandten Themen:
- Treiberüberprüfungsoptionen – Konfigurieren erweiterter Testszenarien
- Verwenden der Treiberüberprüfung – Erweiterte Verwendungsmuster und bewährte Methoden
- DDI-Complianceüberprüfung – Grundlegendes zu Complianceregeln und Verstößen
- Debuggingtools für Windows – Einrichten des Kerneldebuggings für die Treiberüberprüfung
Hilfe
- Befehlssyntax "Driver Verifier" – Vollständige Befehlsreferenz
- Steuern der Treiberüberprüfung – Erweiterte Steuerungstechniken