Driver Verifier

Driver Verifier monitora driver e driver grafici in modalità kernel di Windows per rilevare chiamate o azioni di funzioni non valide che potrebbero danneggiare il sistema. Driver Verifier può sottoporre i driver di Windows a un'ampia gamma di stress e test per trovare un comportamento non corretto. È possibile configurare i test da eseguire, che consentono di inserire un driver tramite carichi di stress elevati o tramite test più semplificati. È anche possibile eseguire Driver Verifier su più driver contemporaneamente o su un driver alla volta.

Attenzione

  • L'esecuzione di Driver Verifier potrebbe causare l'arresto anomalo del computer.
  • È consigliabile eseguire Driver Verifier solo nei computer usati per il test e il debug.
  • Per usare Driver Verifier, è necessario trovarsi nel gruppo Administrators del computer.

Dove è possibile scaricare Driver Verifier?

Non è necessario scaricare Driver Verifier, perché è incluso nella maggior parte delle versioni di Windows in %WinDir%\system32\ come Verifier.exe. Il driver Verifier non è incluso in Windows 10 S, quindi è consigliabile testare il comportamento del driver in Windows 10. Driver Verifier non viene distribuito separatamente come pacchetto di download.

Per informazioni sulle modifiche apportate a Driver Verifier per Windows 10 e versioni precedenti di Windows, vedere Driver Verifier: What's New.For information about Driver Verifier for Windows 10 and previous versions of Windows, see Driver Verifier: What's New.

Quando usare Driver Verifier

Eseguire Driver Verifier durante lo sviluppo e il test del driver. In particolare, usare Driver Verifier per gli scopi seguenti:

  • Per individuare i problemi all'inizio del ciclo di sviluppo, quando sono più facili e meno costosi da correggere.

  • Per la risoluzione dei problemi e il debug di errori di test e arresti anomali del computer.

  • Per monitorare il comportamento quando si distribuisce un driver per i test usando WDK, Visual Studio e i test di Windows Hardware Lab Kit (Windows HLK) o Windows Hardware Certification Kit (per Windows 8.1). Per altre informazioni sui driver di test, vedere Test di un driver.

Come avviare Driver Verifier

È consigliabile eseguire Driver Verifier solo nei computer di test o nei computer di cui si esegue il test e il debug. Per ottenere il massimo vantaggio da Driver Verifier, è necessario usare un debugger del kernel e connettersi al computer di test. Per altre informazioni sugli strumenti di debug, vedere Strumenti di debug per Windows (WinDbg, KD, CDB, NTSD).

  1. Avviare una finestra del prompt dei comandi selezionando Esegui come amministratore e digitare verifica per aprire Gestione verifica driver.

  2. Selezionare Crea impostazioni standard (attività predefinita) e selezionare Avanti.

    È anche possibile scegliere Crea impostazioni personalizzate da selezionare tra le impostazioni predefinite o selezionare singole opzioni. Per altre informazioni, vedere Opzioni e classi di regole del driver Verifier e Selezione delle opzioni di verifica driver.

  3. In Selezionare i driver da verificare scegliere uno degli schemi di selezione descritti nella tabella seguente.

    Opzione Uso consigliato
    Selezionare automaticamente i driver non firmati

    Utile per i test nei computer che eseguono versioni di Windows che non richiedono driver firmati.

    Selezionare automaticamente i driver compilati per le versioni precedenti di Windows

    Utile per testare la compatibilità dei driver con le versioni più recenti di Windows.

    Selezionare automaticamente tutti i driver installati nel computer

    Fornisce la copertura massima in termini di numero di driver testati in un sistema. Questa opzione è utile per gli scenari di test in cui un driver può interagire con altri dispositivi o driver in un sistema.

    Questa opzione può anche esaurire le risorse disponibili per il pool speciale e il rilevamento delle risorse. Anche il test di tutti i driver può influire negativamente sulle prestazioni del sistema.

    Selezionare i nomi dei driver da un elenco

    Nella maggior parte dei casi, è necessario specificare i driver da testare.

    La selezione di tutti i driver in uno stack di dispositivi consente all'opzione Verifica I/O avanzata di tenere traccia degli oggetti e verificare la conformità perché viene passato un pacchetto di richiesta di I/O tra ognuno dei driver nello stack, che consente di fornire un livello di dettaglio maggiore quando viene rilevato un errore.

    Selezionare un singolo driver se si esegue uno scenario di test che misura le metriche delle prestazioni del sistema o del driver oppure se si vuole allocare il maggior numero di risorse disponibili per rilevare il danneggiamento della memoria o i problemi di rilevamento delle risorse (ad esempio deadlock o mutex). Le opzioni Speciali pool e verifica di I/O sono più efficaci quando vengono usate su un driver alla volta.

  4. Se si sceglie Seleziona nomi driver da un elenco, selezionare Avanti e quindi selezionare uno o più driver specifici.

  5. Selezionare Fine e quindi riavviare il computer.

Nota

Quando si usa la verifica driver con windows versioni da 20150 a 25126, se è stato selezionato ntoskrnl , è possibile che venga visualizzato un errore di stato non valido.
Per evitare questo problema, deselezionare ntoskrnl o eseguire l'aggiornamento a una versione di Windows dopo la build 25126.

Eseguire il verificatore del driver al prompt dei comandi

È anche possibile eseguire Driver Verifier in una finestra del prompt dei comandi senza avviare Gestione verifica driver. Ad esempio, per eseguire Driver Verifier con le impostazioni standard in un driver denominato myDriver.sys, usare il comando seguente:

verifier /standard /driver myDriver.sys

Per altre informazioni sulle opzioni della riga di comando, vedere Driver Verifier Command Syntax.

Come controllare Driver Verifier

È possibile usare Gestione verifica driver o una riga di comando per controllare Driver Verifier. Per avviare Driver Verifier Manager, vedere Come avviare Driver Verifier, più indietro in questo argomento.

Per ognuna delle azioni seguenti, è possibile usare Gestione verifica driver o immettere una riga di comando.

Per arrestare o reimpostare il driver Verifier

  1. In Gestione verifica driver selezionare Elimina impostazioni esistenti e quindi selezionare Fine.

    oppure

    Immettere il comando seguente in un prompt dei comandi:

    verifier /reset
    
  2. Riavviare il computer.

Per visualizzare le statistiche del driver Verifier

In Gestione verifica driver selezionare Visualizza informazioni sui driver attualmente verificati e quindi selezionare Avanti. Se si continua a selezionare Avanti , vengono visualizzate informazioni aggiuntive.

oppure

Immettere il comando seguente in un prompt dei comandi:

verifier /query

Per visualizzare le impostazioni del driver Verifier

In Gestione verifica driver selezionare Visualizza impostazioni esistenti e quindi selezionare Avanti.

oppure

Immettere il comando seguente in un prompt dei comandi:

verifier /querysettings

Come eseguire il debug delle violazioni del driver Verifier

Per ottenere il massimo vantaggio da Driver Verifier, è consigliabile usare un debugger del kernel e connetterlo al computer di test. Per una panoramica degli strumenti di debug per Windows, vedere Strumenti di debug per Windows (WinDbg, KD, CDB, NTSD).

Se Driver Verifier rileva una violazione, genera un controllo di bug per arrestare il computer. Ciò consente di fornire la maggior parte delle informazioni possibili per il debug del problema. Quando si dispone di un debugger del kernel connesso a un computer di test che esegue Driver Verifier e Driver Verifier rileva una violazione, Windows si interrompe nel debugger e visualizza una breve descrizione dell'errore.

Tutte le violazioni rilevate da Driver Verifier generano controlli di bug. Si tratta in genere di un controllo bug 0xC4. Per altre informazioni, vedere Debug del controllo dei bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION e controllo dei bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION.

Altri codici di controllo dei bug comuni includono quanto segue:

Per altre informazioni, vedere Gestione di un controllo di bug quando è abilitato il driver Verifier.

Quando si avvia una nuova sessione di debug, usare il comando di estensione del debugger !analyze. In modalità kernel, il comando !analyze visualizza informazioni sul controllo di bug più recente. Per visualizzare informazioni aggiuntive , per identificare il driver di errore, aggiungere l'opzione -v al comando al prompt kd> :

kd> !analyze -v

Oltre a !analyze, è possibile immettere le estensioni del debugger seguenti al prompt kd> per visualizzare le informazioni specifiche di Driver Verifier:

  • !verifier dump acquisiti statistiche del driver di verifica. Usare !verifier -? per visualizzare tutte le opzioni disponibili.

    kd> !verifier
    
  • !deadlock visualizza informazioni correlate ai blocchi o agli oggetti rilevati dalla funzionalità di rilevamento deadlock di Driver Verifier. Usare !deadlock -? per visualizzare tutte le opzioni disponibili.

    kd> !deadlock
    
  • !iovirp [address] visualizza informazioni correlate a un'IRP rilevata da I/O Verifier. Ad esempio:

    kd> !iovirp 947cef68
    
  • Cercare la regola di controllo della conformità DDI violata. RuleID è sempre il primo argomento del controllo del bug. Tutti gli ID regola dal controllo di conformità DDI si trovano nel modulo 0x200nn.

Opzioni di verifica driver

Sintassi del comando del verificatore driver

Uso del verificatore driver

Controllo del verificatore driver

Controllo della conformità DDI