Freigeben über


Eigenschaften der Treiberüberprüfung für Treiberpaketprojekte

Driver Verifier ist ein Laufzeitüberprüfungstool, das die Effektivität Ihrer Treibertests erhöht. Sie können die Treiberüberprüfung aktivieren und so konfigurieren, dass er auf allen Testcomputern ausgeführt wird, wenn Sie Ihren Treiber zu Testzwecken bereitstellen.

Sie sollten immer eine Debugverbindung im Kernelmodus mit dem Testcomputer einrichten, wenn Sie die Treiberüberprüfung auf dem Remotetestcomputer aktivieren. Informationen zum Konfigurieren eines Zielcomputers und zum Einrichten eines Debugkabels finden Sie unter Erste Schritte mit Windows-Debuggen.

Festlegen von Treiberüberprüfungseigenschaften für Treiberpaketprojekte

  1. Öffnen Sie die Eigenschaftenseiten für Ihr Treiberpaket. Halten Sie das Treiberpaketprojekt in Projektmappen-Explorer gedrückt (oder klicken Sie mit der rechten Maustaste darauf), und wählen Sie Eigenschaften aus.
  2. Wählen Sie auf den Eigenschaftenseiten für das Treiberpaket die Option Konfigurationseigenschaften, Treiberinstallation und dann Treiberüberprüfung aus.
  3. Wählen Sie die Option Treiberüberprüfung aktivieren aus. Wenn diese Option ausgewählt ist, können Sie die Treiber auswählen, die auf dem Testcomputer überprüft werden sollen, und Sie können die zu verwendenden Optionen für die Treiberüberprüfung auswählen.

Projektkonfiguration und Plattform

Mit der Konfigurations- und Plattformliste können Sie unterschiedliche Bereitstellungseinstellungen für verschiedene Projektkonfigurations- und Plattformkombinationen anwenden. Beispielsweise können Sie einen Treiber auf einem Testcomputer mithilfe einer Reihe von Bereitstellungsoptionen für Debugbuilds und mithilfe von Bereitstellungsoptionen für Releasebuilds auf einem anderen Testcomputer bereitstellen.

Aktivieren der Treiberüberprüfung

Sie können die Treiberüberprüfung auf dem Testcomputer für alle Treiber auf dem Computer, nur für das Treiberprojekt oder für eine Liste der angegebenen Treiber aktivieren. Beispielsweise können Sie die Treiberüberprüfung für die Gruppe von Treibern auf dem Stapel für ein bestimmtes Gerät aktivieren.

Überprüfen von Treibern

Gibt an, welche Treiber auf dem Testcomputer überprüft werden sollen.

Alle Treiber
Gibt an, dass die Treiberüberprüfung alle installierten Treiber auf dem Remotetestcomputer überprüft.

Projektausgabe
Gibt an, dass die Treiberüberprüfung das Treiberprojekt überprüft, das auf dem Remotetestcomputer installiert ist. Dies ist die Standardoption.

Treiberliste
Gibt den Treiber oder die Liste der Treiber an, die von der Treiberüberprüfung auf dem Remotetestcomputer überprüft werden. Sie können beispielsweise alle Treiber auflisten, die einem bestimmten Gerät zugeordnet sind. Geben Sie die Treiber anhand des binären Namens an, z. B. Driver.sys. Verwenden Sie ein Semikolon, um eine Liste von Treibern zu trennen. Wildcardwerte wie n*.syswerden nicht unterstützt.

Standardflags für die Treiberüberprüfung

Sie können die folgenden Optionen für die Treiberüberprüfung auf dem Testcomputer konfigurieren.

  • DDI-Konformitätsüberprüfung (Windows 8)

    Wenn diese Option aktiv ist, wendet Driver Verifier eine Reihe von DDI-Regeln (Device Driver Interface) an, die die richtige Interaktion zwischen einem Treiber und der Kernelschnittstelle des Betriebssystems überprüfen.

  • Deadlockerkennung

    Wenn diese Option aktiv ist, überwacht driver verifier die Verwendung von Drehsperren, Mutexes und schnellen Mutexen durch den Treiber. Dadurch wird erkannt, ob der Code des Treibers das Potenzial hat, irgendwann einen Deadlock zu verursachen.

  • DMA-Überprüfung

    Wenn diese Option aktiv ist, überwacht driver verifier die Verwendung von DMA-Routinen (Direct Memory Access) durch den Treiber. Dadurch wird eine unsachgemäße Verwendung von DMA-Puffern, Adaptern und Zuordnungsregistern erkannt.

  • Erzwingen der IRQL-Überprüfung

    Wenn diese Option aktiv ist, führt driver verifier zu einer extremen Speicherauslastung des Treibers, indem ausgelagerter Code ungültig wird. Wenn der Treiber versucht, mit dem falschen IRQL oder während einer Drehsperre auf ausgelagerten Speicher zuzugreifen, erkennt driver verifier dieses Verhalten.

  • E/A-Überprüfung

    Wenn diese Option aktiv ist, ordnet driver Verifier die Interrupt Request Packets (IRPs) des Treibers aus einem speziellen Pool zu und überwacht die E/A-Behandlung des Treibers. Dadurch wird eine unzulässige oder inkonsistente Verwendung von E/A-Routinen erkannt. Driver Verifier überwacht auch die Aufrufe mehrerer E/A-Manager-Routinen und führt Belastungstests von Plug-and-Play-IRPs (PnP), Power IRPs und WMI IRPs durch.

  • Verschiedene Überprüfungen

    Wenn diese Option aktiv ist, sucht die Driver Verifier nach häufigen Ursachen für Treiberabstürze, z. B. die falsche Behandlung von freigegebenem Arbeitsspeicher.

  • Poolnachverfolgung

    Wenn diese Option aktiv ist, überprüft driver verifier, ob der Treiber beim Entladen alle Speicherbelegungen freigegeben hat. Dies zeigt Speicherverluste.

  • Sicherheitsüberprüfungen

    Wenn diese Option aktiv ist, sucht die Treiberüberprüfung nach häufigen Fehlern, die zu Sicherheitsrisiken führen können, z. B. einen Verweis auf Benutzermodusadressen durch Kernelmodusroutinen.

  • Spezielle Poolüberprüfung

    Wenn diese Option aktiv ist, ordnet driver verifier die meisten Speicheranforderungen des Treibers aus einem speziellen Pool zu. Dieser spezielle Pool wird auf Speicherüberläufe, Arbeitsspeicherunterläufe und Arbeitsspeicher überwacht, auf den nach der Freigabe zugegriffen wird.

Spezifische Einstellungen für das Treiberüberprüfungsszenario

Treiberüberprüfungsoptionen, die eine E/A-Überprüfung erfordern

Es gibt vier Optionen, für die Sie zunächst die E/A-Überprüfung aktivieren müssen. Wenn die E/A-Überprüfung nicht aktiviert ist, sind diese Optionen nicht aktiviert.