Condividi tramite


Simulazione sistematica di risorse basse

L'opzione di simulazione sistematica delle risorse basse inserisce errori di risorse nei driver in modalità kernel. Questa opzione penetra nei percorsi di gestione degli errori del driver. Il test di questi percorsi è stato storicamente molto difficile. L'opzione di simulazione sistematica delle risorse basse inserisce gli errori delle risorse in modo prevedibile, in modo da rendere riproducibili i problemi rilevati. Poiché i percorsi di errore sono facili da riprodurre, semplifica anche la verifica delle correzioni a questi problemi.

Per determinare la causa radice dell'errore, viene fornita un'estensione del debugger che consente di indicare esattamente quali errori sono stati inseriti e in quale ordine.

Attenzione Questa opzione non è destinata all'uso quando si verificano tutti i driver (o una raccolta di grandi dimensioni) in un computer. Questa opzione deve essere usata solo quando si eseguono test mirati di singoli driver o driver di filtro collegati. L'uso di questa opzione su un numero elevato di driver contemporaneamente potrebbe causare risultati imprevedibili e potrebbe forzare gli arresti anomali nei componenti non correlati ai driver che si stanno testando.

Nota Per Windows 8.1, la funzionalità di inserimento degli errori basati su stack, disponibile in WDK 8, è stata integrata in Driver Verifier. Nei computer che eseguono Windows 8.1 usare l'opzione di simulazione delle risorse con risorse sistematiche.

Quando l'opzione Di simulazione sistematica delle risorse basse è abilitata in un driver specifico, intercetta alcune chiamate da tale driver al kernel e Ndis.sys. La simulazione sistematica di risorse basse esamina lo stack di chiamate, in particolare nella parte dello stack di chiamate proveniente dal driver su cui è abilitato. Se questa è la prima volta che ha mai visto lo stack, la chiamata avrà esito negativo in base alla semantica di tale chiamata. In caso contrario, se ha visto la chiamata in precedenza, passerà attraverso non toccato. La simulazione sistematica di risorse basse contiene la logica per gestire il fatto che un driver può essere caricato e scaricato più volte. Riconoscerà che uno stack di chiamate è lo stesso anche se il driver viene ricaricato in un percorso di memoria diverso.

Attivazione di questa opzione

È possibile attivare la funzionalità di simulazione sistematica delle risorse basse per uno o più driver usando Gestione verifica driver o la riga di comando Verifier.exe. Per informazioni dettagliate, vedere Selezione delle opzioni di verifica driver. È necessario riavviare il computer per attivare o disattivare l'opzione Di simulazione sistematica delle risorse basse.

  • Dalla riga di comando

    Windows 11

    Nella riga di comando, la simulazione sistematica delle risorse basse è rappresentata dal verificatore /rc 19 36 o dal verificatore /dif 19, che includono entrambe la modalità DIF richiesta.

    La funzionalità sarà attiva dopo l'avvio successivo o immediatamente se /now viene aggiunto alla stringa di comando.

    Windows 10 e versioni successive

    Nella riga di comando la simulazione sistematica delle risorse basse è rappresentata dal verificatore /flags 0x040000 (bit 18). Per la simulazione sistematica di risorse basse, usare un valore flag di 0x040000 o aggiungere 0x040000 al valore del flag. Ad esempio:

    verifier /flags 0x040000 /driver MyDriver.sys
    

    La funzionalità sarà attiva dopo l'avvio successivo.

    Generali

    Quando si abilita l'opzione di simulazione delle risorse sistematiche a basso contenuto, è possibile usare l'opzione della riga di comando /faultssystematic OPTION per controllare ulteriormente la simulazione sistematica delle risorse basse.

    OPTION Descrizione

    enableboottime

    Abilita le iniezioni di errore tra i riavvii del computer.

    disableboottime

    Disabilita gli inserimenti di errori tra i riavvii del computer (questa è l'impostazione predefinita).

    recordboottime

    Abilita le iniezioni di errore in modalità 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 in modo dinamico gli attacchi di errore.

    recordruntime

    Abilita dinamicamente le iniezioni di errore in modalità if .

    resetruntime

    Disabilita in modo dinamico 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 utilizzato 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.

  • Uso di Gestione verifica driver

    1. Avviare Gestione verifica driver. Digitare Verifier in una finestra del prompt dei comandi.
    2. Selezionare Crea impostazioni personalizzate (per sviluppatori di codice) e quindi fare clic su Avanti.
    3. Selezionare Seleziona singole impostazioni da un elenco completo.
    4. Selezionare (controllare) Simulazione sistematica di risorse basse.
    5. Riavviare il computer.

Debug dei controlli dei bug causati dalla simulazione sistematica di risorse a basso consumo

La maggior parte dei problemi riscontrati con la simulazione sistematica delle risorse basse comporta controlli di bug. Per determinare la causa di questi bug di codice, gli strumenti di debug per Windows forniscono l'estensione del debugger (kdexts.dll) e i simboli necessari.

Per eseguire l'estensione del debugger

  • Dal prompt dei comandi del debugger digitare il comando seguente:

    !verifier 0x800
    

In questo modo si eseguiranno il dump delle informazioni nel debugger che mostrano gli stack di chiamate dagli errori più recenti inseriti.