Share via


Simulazione sistematica di risorse basse

L'opzione Di simulazione delle risorse a basso livello sistematico inserisce gli errori delle 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 delle risorse a basso livello sistematico inserisce gli errori delle risorse in modo prevedibile, che rende i problemi che trova riproducibili. 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 può indicare esattamente quali errori sono stati inseriti e nell'ordine in cui sono stati inseriti.

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 esegue test mirati di singoli driver o i 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 di cui si sta eseguendo il test.

Nota Per Windows 8.1, la funzionalità Stack Based Failure Injection, disponibile in WDK 8, è stata integrata in Verifica driver. Nei computer che eseguono Windows 8.1 usare l'opzione Simulazione di risorse a basso livello sistematico.

Quando l'opzione Di simulazione delle risorse sistematiche è abilitata in un driver specifico, intercetta alcune chiamate dal driver al kernel e Ndis.sys. La simulazione di risorse basse sistematiche esamina lo stack di chiamate, in particolare nella parte dello stack di chiamate proveniente dal driver abilitato. Se si tratta della prima volta che ha mai visto lo stack, avrà esito negativo la chiamata in base alla semantica di tale chiamata. In caso contrario, se ha visto che la chiamata prima, la 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 una posizione di memoria diversa.

Attivazione di questa opzione

È possibile attivare la funzionalità di simulazione delle risorse a basso livello sistematico 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 Simulazione di risorse a basso livello sistematico.

  • Nella riga di comando

    Windows 11

    Nella riga di comando la simulazione delle risorse a basso livello sistematico è rappresentata dal verificatore /rc 19 36 o dal verificatore /dif 19, entrambi i quali includono la modalità DIF necessaria.

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

    Windows 10 e di seguito

    Nella riga di comando la simulazione delle risorse a basso livello sistematico è rappresentata dal verificatore /flag 0x040000 (Bit 18). Per la simulazione di risorse a basso livello sistematico, 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.

    Generale

    Quando si abilita l'opzione Simulazione di risorse a basso livello sistematico, è possibile usare l'opzione della riga di comando /faultssystematicOPTION per controllare ulteriormente la simulazione delle risorse a basso livello sistematico.

    OPTION Descrizione

    enableboottime

    Consente l'inserimento degli errori tra i riavvii del computer.

    disableboottime

    Disabilita gli inserimenti di errore tra i riavvii del computer (si tratta dell'impostazione predefinita).

    recordboottime

    Abilita gli inserimenti di errori in modalità se vengono riavviati dal computer.

    resetboottime

    Disabilita gli inserimenti di errore tra i riavvii del computer e cancella l'elenco di esclusione dello stack.

    enableruntime

    Abilita dinamicamente gli inserimenti di errore.

    disableruntime

    Disabilita dinamicamente gli inserimenti di errore.

    recordruntime

    Abilita dinamicamente gli inserimenti di errore in modalità if .

    resetruntime

    Disabilita dinamicamente gli inserimenti di errore e cancella l'elenco di stack con errore precedentemente.

    querystatistici

    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.

  • Uso di Gestione verifica driver

    1. Avviare Gestione verifica driver. Digitare Verifica 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 (check) Simulazione di risorse a basso livello sistematico.
    5. Riavviare il computer.

Debug dei controlli dei bug causati dalla simulazione di risorse a basso livello sistematico

La maggior parte dei problemi riscontrati con la simulazione di risorse basse sistematiche 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 verranno dumpte le informazioni sul debugger che mostrano gli stack di chiamate dagli errori più recenti inseriti.