verifier

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

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

Importante

È necessario trovarsi nel gruppo Amministratori nel computer per usare Driver Verifier. L'esecuzione di Driver Verifier può causare l'arresto anomalo del computer, pertanto è consigliabile eseguire questa utilità solo nei computer usati per il test e il debug.

Sintassi

verifier /standard /all
verifier /standard /driver NAME [NAME ...]
verifier /flags <options> /all
verifier /flags <options> /driver NAME [NAME ...]
verifier /rules [OPTION ...]
verifier /query
verifier /querysettings
verifier /bootmode [persistent | disableafterfail | oneboot]
verifier /reset
verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /faultssystematic [OPTION ...]
verifier /log LOG_FILE_NAME [/interval SECONDS]
verifier /volatile /flags <options>
verifier /volatile /adddriver NAME [NAME ...]
verifier /volatile /removedriver NAME [NAME ...]
verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
verifier /domain <types> <options> /driver ... [/logging | /livedump]
verifier /logging
verifier /livedump
verifier /?
verifier /help

Parametri

Parametro Descrizione
/all Indirizza l'utilità Driver Verifier per verificare tutti i driver installati dopo l'avvio successivo.
/bootmode [persistent \| disableafterfail \| oneboot \| resetonunusualshutdown] Controlla se le impostazioni per l'utilità Driver Verifier sono abilitate dopo un riavvio. Per impostare o modificare questa opzione, è necessario riavviare il computer. Sono disponibili le seguenti modalità:
  • persistent: assicura che le impostazioni di Driver Verifier rimangano persistenti (rimangono effettive) su molti riavvii. Si tratta dell'impostazione predefinita.
  • disableafterfail: se Windows non viene avviato, questa impostazione disabilita l'utilità Driver Verifier per i riavvii successivi.
  • oneboot: abilita solo le impostazioni di Driver Verifier per la successiva avvio del computer. L'utilità Driver Verifier è disabilitata per i riavvii successivi.
  • resetonunusualshutdown: l'utilità Driver Verifier verrà mantenuta fino a quando non si verifica un arresto insolito. Può essere usata la sua abbreviazione, "rous".
/driver <driverlist> Specifica uno o più driver che verranno verificati. Il parametro driverlist è un elenco di driver in base al nome binario, ad esempio driver.sys. Usare uno spazio per separare ogni nome del driver. I valori jolly, ad esempio n*.sys, non sono supportati.
/driver.exclude <driverlist> Specifica uno o più driver che verranno esclusi dalla verifica. Questo parametro è applicabile solo se tutti i driver sono selezionati per la verifica. Il parametro driverlist è un elenco di driver in base al nome binario, ad esempio driver.sys. Usare uno spazio per separare ogni nome del driver. I valori jolly, ad esempio n*.sys, non sono supportati.
/faults Abilita la funzionalità Simulazione risorse basse nell'utilità Driver Verifier. È possibile usare /faults al posto di /flags 0x4. Tuttavia, non è possibile usare /flags 0x4 con i sottoparametri /faults. È possibile usare i seguenti sottoparametri del parametro /faults per configurare la simulazione delle risorse basse:
  • Probability: specifica la probabilità che l'utilità Driver Verifier non riuscirà a una determinata allocazione. Digitare un numero (in decimale o esadecimale) per rappresentare il numero di probabilità in 10.000 che l'utilità Driver Verifier non riuscirà l'allocazione. Il valore predefinito, 600, indica 600/10000 o 6%.
  • Pool Tags: limita le allocazioni che l'utilità Driver Verifier può non riuscire ad allocazioni con i tag del pool specificati. È possibile usare un carattere jolly (*) per rappresentare più tag del pool. Per elencare più tag del pool, separare i tag con gli spazi. Per impostazione predefinita, tutte le allocazioni possono avere esito negativo.
  • Applications: limita le allocazioni che l'utilità Driver Verifier può non riuscire ad allocazioni per il programma specificato. Digitare il nome di un file eseguibile. Per elencare i programmi, separare i nomi dei programmi con gli spazi. Per impostazione predefinita, tutte le allocazioni possono avere esito negativo.
  • DelayMins: specifica il numero di minuti dopo l'avvio durante il quale l'utilità Driver Verifier non ha intenzionalmente esito negativo per nessuna allocazione. Questo ritardo consente ai driver di caricare e il sistema di stabilizzarsi prima dell'inizio del test. Digitare un numero (in formato decimale o esadecimale). Il valore predefinito è 7 (minuti).
/faultssystematic Specifica le opzioni per la simulazione Sistematica di risorse basse. Usare il flag 0x40000 per selezionare l'opzione di simulazione Sistematica di risorse basse. Sono disponibili le seguenti opzioni:
  • enableboottime: consente l'inserimento di errori tra i riavvii del computer.
  • disableboottime: disabilita gli inserimenti di errore tra i riavvii del computer (questa è l'impostazione predefinita).
  • recordboottime: consente l'inserimento di errori in modalità "what if" tra i riavvii del computer.
  • resetboottime: disabilita gli inserimenti di errori tra i riavvii del computer e cancella l'elenco di esclusione dello stack.
  • enableruntime: abilita dinamicamente le iniezioni di errore.
  • disableruntime: disabilita dinamicamente gli attacchi di errore.
  • recordruntime: abilita dinamicamente gli attacchi di errore in modalità if.
  • resetruntime: disabilita dinamicamente gli attacchi di errore e cancella l'elenco di stack con errori in precedenza.
  • querystatistics: mostra le statistiche di inserimento degli errori correnti.
  • incrementcounter: incrementa il contatore del passaggio di test usato per identificare quando è stato inserito un errore.
  • getstackid COUNTER: recupera l'identificatore dello stack inserito indicato.
  • excludestack STACKID: esclude lo stack dall'inserimento di errori.
/flags <options> Attiva le opzioni specificate dopo il successivo riavvio. Questo numero può essere immesso in formato decimale o esadecimale (con prefisso 0x). È consentita qualsiasi combinazione dei valori seguenti:
/flags <volatileoptions> Specifica le opzioni dell'utilità Driver Verifier che vengono modificate immediatamente senza riavviare. Questo numero può essere immesso in formato decimale o esadecimale (con prefisso 0x). È consentita qualsiasi combinazione dei valori seguenti:
  • Valore: 1 o 0x1 (bit 0) - Pool speciale
  • Valore: 2 o 0x2 (bit 1) - Forzare controllo IRQL
  • Valore: 4 o 0x4 (bit 2) - Simulazione risorse basse
<probability> Numero compreso tra 1 e 10.000 che specifica la probabilità di fault injection. Ad esempio, il valore 100 indica una probabilità di attacco intrusivo nel codice di errore di % 1 (100/10.000).

Se questo parametro non viene specificato, viene usata la probabilità predefinita del 6%.

<tags> Specifica i tag del pool che verranno inseriti con errori, separati da spazi. Se questo parametro non viene specificato quindi qualsiasi allocazione del pool è possibile inserire con errori.
<apps> Specifica il nome del file di immagine delle app che verranno inserite con errori, separate da spazi. Se questo parametro non viene specificato, la simulazione di risorse insufficienti può essere eseguita in qualsiasi applicazione.
<minutes> Un numero positivo che specifica la lunghezza del periodo dopo il riavvio, in minuti, durante il quale nessun errore si verificherà injection. Se questo parametro non è specificato, viene usata la durata predefinita di 8 minuti .
/iolevel <level> Specifica il livello di verifica I/O. Il valore di [livello] può essere 1 - Abilita la verifica di I/O di livello 1 (impostazione predefinita) o 2 - Abilita la verifica di I/O di livello 1 e la verifica di I/O di livello 2. Se la verifica di I/O non è abilitata (tramite /flags 0x10), /iolevel viene ignorata.
/log <logfilename> [/intervalseconds] Crea una file di log con il nome specificato. L'utilità Driver Verifier scrive periodicamente le statistiche in questo file, in base all'intervallo impostato facoltativamente. L'intervallo predefinito è 30 secondi.

Se un comando di verifica /log viene digitato nella riga di comando, il prompt dei comandi non restituisce. Per chiudere il file di log e restituire un prompt, usare il tasto CTRL+C. Dopo un riavvio, per creare un log, è necessario inviare di nuovo il comando di verifica /log.

/rules <option> Opzioni per le regole che possono essere disabilitate, tra cui:
  • query: mostra lo stato corrente delle regole controllabili.
  • reset: reimposta tutte le regole sullo stato predefinito.
  • ID predefinito: imposta l'ID regola sullo stato predefinito. Per le regole supportate, l'ID regola è il valore 1 del parametro 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION).
  • disable ID: disabilita l'ID regola specificato. Per le regole supportate, l'ID regola è il valore 1 del parametro 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION).
/standard Attiva le opzioni "standard" o predefinite di Driver Verifier dopo il successivo riavvio. Le opzioni standard sono Pool speciale, Force IRQL Checking, Pool Tracking, I/O Verification, Deadlock Detection, DMA Verification, Security Checks, Miscellaneous Checks e DDI Compliance Check. che equivale a /flags 0x209BB.

[!NOTA] A partire dalle versioni di Windows 10 successive alla 1803, l'uso di /flags 0x209BB non abilita più automaticamente la verifica WDF. Usare la sintassi /standard per abilitare le opzioni standard, con la verifica WDF inclusa.

/volatile Modifica le impostazioni senza riavviare il computer. Le impostazioni volatili vengono applicate immediatamente.

È possibile usare il parametro /volatile con il parametro /flags per abilitare e disabilitare alcune opzioni senza riavviare. È anche possibile usare /volatile con i parametri /adddriver e /removedriver per avviare o arrestare la verifica di un driver senza riavviare, anche se l'utilità Driver Verifier non è in esecuzione. Per maggiori informazioni, consultare la sezione Uso di Impostazioni volatili.

/adddriver <volatiledriverlist> Aggiunge i driver specificati dalle impostazioni volatili. Per specificare più driver, elencare i nomi separati da spazi. I valori jolly, ad esempio n.sys, non sono supportati.
/removedriver <volatiledriverlist> Rimuove i driver specificati dalle impostazioni volatili. Per specificare più driver, elencare i nomi separati da spazi. I valori jolly, ad esempio n.sys, non sono supportati.
/reset Cancella tutte le impostazioni dell'utilità Driver Verifier. Dopo il riavvio successivo, non verrà verificato alcun driver.
/querysettings Visualizza un riepilogo delle opzioni che verranno attivate e i driver che verranno verificati dopo l'avvio successivo. La visualizzazione non include driver e opzioni aggiunte usando il parametro /volatile. Per altri modi per visualizzare queste impostazioni, consultare la sezione Visualizzazione impostazioni Driver Verifier.
/query Visualizza un riepilogo dell'attività corrente dell'utilità Driver Verifier. Il campo Livello nel display è il valore esadecimale delle opzioni impostate con il parametro /volatile. Per le spiegazioni di ciascuna statistica, consultare la sezione Monitoraggio dei contatori globali e Monitoraggio dei contatori singoli.
/domain <types> <options> Controlla le impostazioni dell'estensione del classificatore. Sono supportati i tipi di estensioni verificatore seguenti:
  • wdm: abilita l'estensione del verificatore per i driver WDM.
  • ndis: abilita l'estensione del verificatore per i driver di rete.
  • ks: abilita l'estensione del classificatore per i driver di streaming in modalità kernel.
  • audio: abilita l'estensione del verificatore per i driver audio.
. Sono supportate le seguenti opzioni di estensione:
  • rules.default: abilita le regole di convalida predefinite per l'estensione del verificatore selezionato.
  • rules.all: abilita tutte le regole di convalida per l'estensione del verificatore selezionato.
/logging Abilita la registrazione per le regole violate rilevate dalle estensioni del verificatore selezionate.
/livedump Abilita la raccolta di dump della memoria in tempo reale per le regole violate rilevate dalle estensioni del verificatore selezionate.
/? Visualizza la guida della riga di comando.

Codici restituiti

I valori seguenti vengono restituiti dopo l'esecuzione del driver verifier:

  • 0: EXIT_CODE_SUCCESS

  • 1: EXIT_CODE_ERROR

  • 2: EXIT_CODE_REBOOT_NEEDED

Osservazioni: