Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Driver Verifier è uno strumento di test di Windows che consente di identificare i problemi del driver prima che causino arresti anomali o danneggiamenti del sistema. Monitorando i driver in modalità kernel e i driver grafici in tempo reale, Driver Verifier rileva chiamate di funzioni illegali e azioni problematiche che potrebbero destabilizzare il sistema.
Indipendentemente dal fatto che si sviluppino nuovi driver o si stia risolvendo i problemi esistenti, Driver Verifier offre le funzionalità di rilevamento e debug iniziali necessarie per creare driver affidabili e di alta qualità. Questa guida completa illustra tutto, dalla configurazione di base alle tecniche di debug avanzate.
- Informazioni su quando e perché usare Driver Verifier
- Configurare Driver Verifier per l'ambiente di test
- Configurare le opzioni di verifica per esigenze specifiche
- Eseguire il debug di violazioni e interpretare i risultati
- Applicare le migliori pratiche per i flussi di lavoro di test dei driver
Importante
- L'esecuzione di Driver Verifier potrebbe causare l'arresto anomalo del computer.
- Eseguire solo Driver Verifier sui computer che si utilizzano per i test e il debug.
- È necessario trovarsi nel gruppo Amministratori nel computer per usare Driver Verifier.
Dove è possibile ottenere Driver Verifier?
Non è necessario ottenere Driver Verifier, perché la maggior parte delle versioni di Windows la includono in %WinDir%\system32\ as Verifier.exe. (Driver Verifier non è incluso in Windows 10 S, quindi ti consigliamo di testare il comportamento del driver in Windows 10. Driver Verifier non viene distribuito separatamente come pacchetto di download.
Per informazioni sulle modifiche in Driver Verifier per Windows 10 e versioni precedenti di Windows, vedi Driver Verifier: What's New.
Quando usare Driver Verifier
Usare Driver Verifier durante il processo di sviluppo e test dei driver:
Fase iniziale di sviluppo
- Individuare i problemi all'inizio del ciclo di sviluppo quando sono più facili e meno costosi da correggere
- Evitare ritardi costosi intercettando i problemi prima di raggiungere la produzione
Risoluzione dei problemi
- Effettuare il debug di errori di test e malfunzionamenti del computer in modo rapido
- Identificare le cause principali dell'instabilità del sistema correlata al driver
Test e distribuzione
- Monitorare il comportamento del driver durante la distribuzione per i test con WDK, Visual Studio e Windows Hardware Lab Kit (Windows HLK)
- Verificare la compatibilità con i requisiti del Kit di certificazione hardware Windows
Per indicazioni complete sul test dei driver, vedere Test di un driver.
Importante
Il programma di compatibilità hardware Windows richiede codeQL per i test STL (Static Tool Logo) nei sistemi operativi client e server. Continuiamo a mantenere il supporto per SDV e CA su prodotti meno recenti. I partner sono fortemente incoraggiati a esaminare i requisiti di CodeQL per il test del logo dello strumento statico. Per ulteriori informazioni sull'uso di CodeQL, vedere CodeQL e il logo di Static Tools.
Come avviare Driver Verifier
Eseguire Driver Verifier solo su computer di test o su computer su cui si eseguono test e debug. Per ottenere il massimo vantaggio da Driver Verifier, usare un debugger del kernel per connettersi al computer di test. Per altre informazioni sugli strumenti di debug, vedere Strumenti di debug per Windows (WinDbg, KD, CDB, NTSD).
Avviare una finestra del prompt dei comandi selezionando Esegui come amministratore e digitare verifier per aprire Gestione Verificatore Driver.
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 del driver Verifier e classi di regole e Selezione delle opzioni di verifica driver.
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 controllare 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 o 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 Special Pool e Verifica I/O sono più efficaci quando vengono usate su un driver alla volta.Se si sceglie Seleziona nomi driver da un elenco, selezionare Avanti, quindi selezionare uno o più driver specifici.
Selezionare Fine, quindi riavviare il computer.
Annotazioni
Quando si usa il verificatore del driver con windows versioni da 20150 a 25126, se si seleziona 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 Driver Verifier Manager. 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 il Driver Verifier
Scegliere il metodo preferito per controllare Driver Verifier:
- Driver Verifier Manager (GUI) - Più facile per principianti, interfaccia visiva
- Riga di comando : più veloce per gli utenti esperti, gestibile tramite script
Annotazioni
Per avviare Gestione Verifica Driver, vedere la sezione Come avviare Verifica Driver precedente.
Attività comuni del Verificatore di driver
Per ognuna delle azioni seguenti, è possibile usare Gestione verifica driver o immettere una riga di comando.
Per arrestare o reimpostare Driver Verifier
In Gestione del verificatore driver, selezionare Elimina impostazioni esistenti, quindi selezionare Fine.
o
Immettere il comando seguente al prompt dei comandi:
verifier /resetRiavviare 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.
o
Immettere il comando seguente al prompt dei comandi:
verifier /query
Per visualizzare le impostazioni del driver Verifier
In Gestione verifica driver selezionare Visualizza impostazioni esistenti e quindi selezionare Avanti.
o
Immettere il comando seguente al prompt dei comandi:
verifier /querysettings
Come eseguire il debug delle violazioni del driver Verifier
Per ottenere il massimo vantaggio da Driver Verifier, 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. Questa azione offre la maggior parte delle informazioni possibili per il debug del problema. Quando si connette un debugger del kernel 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. Questo controllo di bug è in genere un controllo bug 0xC4. Per ulteriori informazioni, consultare Debugging Bug Check 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION e Bug Check 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION.
Altri codici di controllo dei bug comuni includono i codici seguenti:
- Controllo Bug 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
- Verifica bug 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
- Errore di verifica 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
- Bug Check 0xD6: ERRORE_DA_DRIVER_Oltre_il_Limite_dell_Allocazione
- Verifica bug 0xE6: DRIVER_VERIFIER_DMA_VIOLATION
Per altre informazioni, vedere Gestione di un controllo dei bug quando è abilitata la verifica del driver.
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 dei 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 informazioni specifiche di Driver Verifier:
!verifier esegue il dump delle statistiche acquisite di Driver Verifier. Usare !verifier -? per visualizzare tutte le opzioni disponibili.
kd> !verifier!deadlock visualizza informazioni relative a blocchi o oggetti rilevati dalla funzionalità di rilevamento dei deadlock di Driver Verifier. Usare !deadlock -? per visualizzare tutte le opzioni disponibili.
kd> !deadlock!iovirp [indirizzo] visualizza le informazioni relative a un IRP rilevato da I/O Verifier. Per esempio:
kd> !iovirp 947cef68Cercare la regola di controllo della conformità DDI violata. RuleID è sempre il primo argomento del controllo dei bug. Tutti gli ID delle regole del controllo di conformità DDI si trovano nel modulo 0x200nn.
Passaggi successivi
Ora che si conoscono le nozioni di base di Driver Verifier, esaminare questi argomenti correlati:
- Opzioni di verifica driver - Configurare scenari di test avanzati
- Uso di Driver Verifier - Modelli di utilizzo avanzati e procedure consigliate
- Controllo della conformità DDI - Comprendere le regole di conformità e le violazioni
- Strumenti di debug per Windows - Configurare il debug del kernel per Driver Verifier
Richiesta supporto
- Sintassi dei comandi di Driver Verifier - Informazioni di riferimento sul comando completo
- Controllo di Driver Verifier - Tecniche di controllo avanzate