Delen via


Stuurprogrammaverificator

Stuurprogrammaverificator is een Windows-testprogramma waarmee u problemen met stuurprogramma's kunt identificeren voordat ze systeemcrashes of beschadiging veroorzaken. Door kernelmodus- en grafische stuurprogramma's in realtime te bewaken, detecteert Driver Verifier illegale functieaanroepen en problematische acties die uw systeem kunnen destabiliseren.

Of u nu nieuwe stuurprogramma's ontwikkelt of problemen met bestaande stuurprogramma's wilt oplossen, stuurprogrammaverifier biedt de mogelijkheden voor vroege detectie en foutopsporing die u nodig hebt om betrouwbare, hoogwaardige stuurprogramma's te bouwen. Deze uitgebreide handleiding bevat informatie over alles, van eenvoudige installatie tot geavanceerde foutopsporingstechnieken.

  • Meer informatie over wanneer en waarom u Driver Verifier gebruikt
  • Driver Verifier instellen voor uw testomgeving
  • Verificatieopties configureren voor uw specifieke behoeften
  • Fouten debuggen en resultaten interpreteren
  • Aanbevolen procedures toepassen voor werkstromen voor het testen van stuurprogramma's

Belangrijk

  • Het uitvoeren van stuurprogrammaverifier kan ertoe leiden dat de computer vastloopt.
  • Voer stuurprogrammaverifier alleen uit op computers die u gebruikt voor testen en foutopsporing.
  • U moet zich in de groep Administrators op de computer bevinden om Driver Verifier te kunnen gebruiken.

Waar kan ik Driver Verifier krijgen?

U hoeft Driver Verifier niet op te halen, omdat de meeste versies van Windows deze opnemen in %WinDir%\system32\ as Verifier.exe. (Stuurprogrammaverifier is niet opgenomen in Windows 10 S, dus we raden u aan om het gedrag van stuurprogramma's in Windows 10 te testen.) Stuurprogrammaverifier wordt niet afzonderlijk gedistribueerd als een downloadpakket.

Zie Driver Verifier: Wat is er nieuw voor informatie over wijzigingen in Stuurprogrammaverifier voor Windows 10 en eerdere versies van Windows.

Wanneer gebruikt u Driver Verifier?

Gebruik Driver Verifier tijdens het ontwikkel- en testproces van uw stuurprogramma:

Vroege ontwikkeling

  • Problemen vroeg in de ontwikkelingscyclus vinden wanneer ze gemakkelijker en goedkoper zijn om te corrigeren
  • Kostbare vertragingen voorkomen door problemen te ondervangen voordat ze productie bereiken

Probleemoplossingsproces

  • Foutopsporing van testfouten en computer loopt snel vast
  • Hoofdoorzaken van systeeminstabiliteit in verband met stuurprogramma's identificeren

Testen en implementeren

Zie Een stuurprogramma testen voor uitgebreide richtlijnen voor het testen van stuurprogramma's.

Belangrijk

Voor het Windows-hardwarecompatibiliteitsprogramma is CodeQL vereist voor STL-tests (Static Tool Logo) op onze client- en serverbesturingssystemen. We blijven ondersteuning behouden voor SDV en CA op oudere producten. Partners worden ten zeerste aangemoedigd om de CodeQL-vereisten voor de test voor het logo van het statische hulpprogramma te controleren. Zie CodeQL en de logotest voor statische hulpprogramma's voor meer informatie over het gebruik van CodeQL.

Hoe stuurprogrammaverifier te starten

Voer Stuurprogrammaverifier alleen uit op testcomputers of op computers die u test en foutopsporing uitvoert. Gebruik een kernelfoutopsporingsprogramma om verbinding te maken met de testcomputer om optimaal te profiteren van Driver Verifier. Zie Hulpprogramma's voor foutopsporing voor Windows (WinDbg, KD, CDB, NTSD) voor meer informatie over foutopsporingsprogramma's.

  1. Start een opdrachtpromptvenster door Uitvoeren als administrator te selecteren en typ verifier om Stuurprogrammacontrolebeheer te openen.

  2. Selecteer Standaardinstellingen maken (de standaardtaak) en selecteer Volgende.

    U kunt ook aangepaste instellingen maken kiezen om een keuze te maken uit vooraf gedefinieerde instellingen of om afzonderlijke opties te selecteren. Zie Opties voor stuurprogrammaverificator en regelklassen voor meer informatie en opties voor stuurprogrammaverificator selecteren.

  3. Kies onder Selecteren welke stuurprogramma's u wilt controleren een van de selectieschema's die in de volgende tabel worden beschreven:

    Optie Aanbevolen gebruik
    Niet-ondertekende stuurprogramma's automatisch selecteren Handig voor het testen op computers waarop versies van Windows worden uitgevoerd waarvoor geen ondertekende stuurprogramma's zijn vereist.
    Stuurprogramma's die zijn gebouwd voor oudere versies van Windows automatisch selecteren Handig voor het testen van stuurprogrammacompatibiliteit met nieuwere versies van Windows.
    Automatisch alle stuurprogramma's selecteren die op deze computer zijn geïnstalleerd Biedt maximale dekking met betrekking tot het aantal drivers dat op een systeem wordt getest. Deze optie is handig voor testscenario's waarbij een stuurprogramma kan communiceren met andere apparaten of stuurprogramma's op een systeem.

    Met deze optie kunt u ook de voor Special Pool beschikbare resources en sommige resource tracking uitputten. Het testen van alle stuurprogramma's kan ook een negatieve invloed hebben op de systeemprestaties.
    Selecteer stuurdernamen uit een lijst In de meeste gevallen wilt u opgeven welke stuurprogramma's moeten worden getest.

    Als u alle stuurprogramma's in een apparaatstack selecteert, kan de optie Uitgebreide I/O-verificatie objecten bijhouden en naleving controleren omdat een I/O-aanvraagpakket (IRP) wordt doorgegeven tussen elk van de stuurprogramma's in de stack, waardoor een groter detailniveau kan worden opgegeven wanneer er een fout wordt gedetecteerd.

    Selecteer één stuurprogramma als u een testscenario uitvoert dat systeem- of stuurprogrammaprestaties meet of als u het maximaal aantal beschikbare resources wilt toewijzen voor het detecteren van geheugencorruptie of problemen met het bijhouden van resources (zoals deadlocks of mutexes). De opties speciale pool en I/O-verificatie zijn effectiever wanneer ze op één stuurprogramma tegelijk worden gebruikt.
  4. Als u stuurprogrammanamen in een lijst selecteren hebt gekozen, selecteert u Volgende en selecteert u vervolgens een of meer specifieke stuurprogramma's.

  5. Selecteer Voltooien en start de computer opnieuw op.

Opmerking

Wanneer u stuurprogrammaverificator gebruikt met Windows-versies 20150 tot 25126, ontvangt u mogelijk een ongeldige statusfout als u ntoskrnl selecteert .
U kunt dit probleem voorkomen door de selectie van ntoskrnl op te heffen of een upgrade uit te voeren naar een versie van Windows na build 25126.

Stuurprogrammaverifier uitvoeren bij een opdrachtprompt

U kunt stuurprogrammaverifier ook uitvoeren in een opdrachtpromptvenster zonder Driver Verifier Manager te starten. Als u bijvoorbeeld Driver Verifier wilt uitvoeren met de standaardinstellingen voor een stuurprogramma met de naam myDriver.sys, gebruikt u de volgende opdracht:

verifier /standard /driver myDriver.sys

Zie De opdrachtsyntaxis van stuurprogrammaverificator voor meer informatie over opdrachtregelopties.

Hoe je Driver Verifier beheert

Kies de gewenste methode om Stuurprogrammacontrole te beheren:

  • Driver Verifier Manager (GUI) - Eenvoudiger voor beginners, visuele interface
  • Opdrachtregel : sneller voor ervaren gebruikers, scriptbaar

Opmerking

Als u Driver Verifier Manager wilt starten, raadpleegt u de sectie Stuurprogrammaverificator starten in de voorgaande sectie.

Algemene taken voor stuurprogrammaverificator

Voor elk van de volgende acties kunt u Driver Verifier Manager gebruiken of een opdrachtregel invoeren.

Driver Verifier stoppen of opnieuw instellen

  1. Selecteer bestaande instellingen verwijderen in Driver Verifier Manager en selecteer Voltooien.

    or

    Voer de volgende opdracht in bij een opdrachtprompt:

    verifier /reset
    
  2. Start de computer opnieuw op.

Statistieken van stuurprogrammaverificator weergeven

Selecteer in Driver Verifier Managerweergave-informatie over de momenteel geverifieerde stuurprogramma's en selecteer vervolgens Volgende. Als u doorgaat met volgende , wordt aanvullende informatie weergegeven.

or

Voer de volgende opdracht in bij een opdrachtprompt:

verifier /query

Instellingen voor stuurprogrammaverificator weergeven

Selecteer Bestaande instellingen weergeven in Driver Verifier Manager en selecteer vervolgens Volgende.

or

Voer de volgende opdracht in bij een opdrachtprompt:

verifier /querysettings

Hoe schendingen van de Driver Verifier debuggen

Gebruik een kernelfoutopsporingsprogramma en verbind het met de testcomputer om optimaal te profiteren van Driver Verifier. Zie Foutopsporingsprogramma's voor Windows (WinDbg, KD, CDB, NTSD) voor een overzicht van hulpprogramma's voor foutopsporing voor Windows.

Als Driver Verifier een schending detecteert, wordt er een bugcontrole uitgevoerd om de computer te stoppen. Deze actie biedt u de meeste informatie voor het opsporen van fouten in het probleem. Wanneer u een kernelfoutopsporingsprogramma verbindt met een testcomputer waarop Driver Verifier en Driver Verifier een schending detecteert, breekt Windows het foutopsporingsprogramma in en geeft een korte beschrijving van de fout weer.

Alle schendingen die door Driver Verifier zijn gedetecteerd, resulteren in foutcontroles. Deze bugcheck is doorgaans een Bug Check 0xC4. Zie Foutopsporing 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION en Foutopsporing 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION voor meer informatie.

Andere veelvoorkomende foutcontrolecodes zijn de volgende codes:

Zie Een bugcontrole afhandelen wanneer stuurprogrammacontrole is ingeschakeld voor meer informatie.

Wanneer u een nieuwe foutopsporingssessie start, gebruikt u de opdracht voor het foutopsporingsprogramma, !analyze. In de kernelmodus geeft de opdracht !analyze informatie weer over de meest recente foutcontrole. Als u aanvullende informatie wilt weergeven om het defecte stuurprogramma te identificeren, voegt u optie -v toe aan de opdracht bij de kd-prompt> :

kd> !analyze -v

Naast !analyze kunt u de volgende extensies voor foutopsporingsprogramma's invoeren bij de kd-prompt> om informatie weer te geven die specifiek is voor Driver Verifier:

  • !Verifier dumpt vastgelegde statistieken van stuurprogrammaverifier. Gebruik !verifier -? om alle beschikbare opties weer te geven.

    kd> !verifier
    
  • !deadlock geeft informatie weer met betrekking tot vergrendelingen of objecten die worden bijgehouden door de functie deadlockdetectie van Driver Verifier. Gebruik !impasse -? om alle beschikbare opties weer te geven.

    kd> !deadlock
    
  • !iovirp [adres] geeft informatie weer met betrekking tot een IRP die wordt bijgehouden door I/O-verifier. Voorbeeld:

    kd> !iovirp 947cef68
    
  • Zoek de DDI-nalevingscontroleregel op die is geschonden. (RuleID is altijd het eerste argument voor de foutcontrole.) Alle regel-id's van DDI-nalevingscontrole bevinden zich in de vorm 0x200nn.

Volgende stappen

Nu u de basisprincipes van Driver Verifier begrijpt, kunt u de volgende verwante onderwerpen verkennen:

Krijg hulp