Condividi tramite


Analizzare i dati della schermata blu del controllo dei bug

Annotazioni

Questo articolo è destinato ai programmatori. Se si è un cliente che ha ricevuto un codice di errore della schermata blu durante l'uso del computer, vedere Risolvere gli errori della schermata blu.

Annotazioni

Se sei un professionista IT o un agente del supporto, vedi Risoluzione avanzata dei problemi relativi agli errori di arresto o schermata blu per ulteriori informazioni.

Raccogli i parametri del codice di arresto

A ogni codice di controllo dei bug sono associati quattro parametri che forniscono informazioni. I parametri sono descritti in Riferimento al codice di controllo dei bug per ogni codice di arresto.

Esistono diversi modi per raccogliere i quattro parametri del codice di arresto.

  • Esaminare il registro di sistema di Windows nel Visualizzatore eventi. Le proprietà dell'evento per il controllo dei bug elencheranno i quattro parametri del codice di arresto.

  • Caricare il file di dump generato e usare il comando !analyze con il debugger collegato. Per altre informazioni, vedere Analisi di un file di dump in modalità kernel con WinDbg.

  • Collegare un debugger del kernel al PC in cui si è verificato l'errore. Quando si verifica il codice di arresto, l'output del debugger includerà i quattro parametri dopo il valore esadecimale del codice di arresto.

    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************
    
    Use !analyze -v to get detailed debugging information.
    
    BugCheck 9F, {3, ffffe000f38c06a0, fffff803c596cad0, ffffe000f46a1010}
    
    Implicit thread is now ffffe000`f4ca3040
    Probably caused by : hidusb.sys
    

Controllo bug nomi simbolici

DRIVER_POWER_STATE_FAILURE è il nome simbolico del controllo dei bug, con un codice di controllo dei bug associato di 9F. Il valore esadecimale del codice di arresto associato al nome simbolico del controllo bug è elencato nel riferimento al codice di controllo dei bug.

Leggere le informazioni sul controllo dei bug dal debugger

Se è collegato un debugger e il debug è abilitato nel PC, un controllo dei bug causerà l'interruzione del computer di destinazione nel debugger. In questo caso, la schermata blu potrebbe non apparire immediatamente. I dettagli completi su questo arresto anomalo verranno inviati al debugger e visualizzati nella finestra del debugger. Per visualizzare queste informazioni una seconda volta, usare il comando .bugcheck (Visualizza dati di controllo bug) o il comando dell'estensione !analyze . Per informazioni sull'abilitazione del debug, vedere Introduzione a WinDbg (Kernel-Mode).

Debug del kernel e analisi del dump di arresto anomalo del sistema

Il debug del kernel è particolarmente utile quando altre tecniche di risoluzione dei problemi falliscono o per un problema ricorrente. Ricordarsi di acquisire il testo esatto nella sezione delle informazioni sul controllo dei bug del messaggio di errore. Per isolare un problema complesso e sviluppare una soluzione alternativa, è utile registrare le azioni esatte che hanno portato all'errore.

Il !analyze'estensione di debug visualizza informazioni sul controllo dei bug e può essere utile per determinare la causa radice.

È inoltre possibile impostare un punto di interruzione nel codice che porta a questo codice di arresto e tentare di eseguire un singolo passo avanti nel codice di errore.

Per altre informazioni, vedere gli articoli seguenti:

Analisi del crash dump usando i debugger di Windows (WinDbg)

Analisi di un file di dump in modalità kernel con WinDbg

Utilizzo dell'estensione !analyze e !analyze

Gli strumenti di deframmentazione mostrano

Utilizzare Driver Verifier per raccogliere informazioni

Si stima che circa tre quarti delle schermate blu siano causate da driver difettosi. Driver Verifier è uno strumento che viene eseguito in tempo reale per esaminare il comportamento dei driver. Ad esempio, Driver Verifier controlla l'uso delle risorse di memoria, ad esempio i pool di memoria. Se rileva errori nell'esecuzione del codice del driver, crea in modo proattivo un'eccezione per consentire un'ulteriore analisi di tale parte del codice del driver. Il gestore di verifica dei driver è integrato in Windows ed è disponibile in tutti i PC Windows. Per avviare il gestore di verifica dei driver, immettere Verifier al prompt dei comandi. È possibile configurare i driver che si desidera verificare. Il codice che verifica i driver aggiunge un sovraccarico durante l'esecuzione, quindi provare a verificare il minor numero possibile di driver. Per altre informazioni, vedere Driver Verifier.

Suggerimenti per gli ingegneri del software

Quando si verifica un controllo dei bug come risultato del codice scritto, è necessario utilizzare il debugger del kernel per analizzare il problema e quindi correggere i bug nel codice. Per informazioni dettagliate, vedere il codice di controllo dei singoli bug nella sezione di riferimento del codice di controllo dei bug .

Tuttavia, è possibile che si verifichino anche controlli di bug che non sono causati dal proprio codice. In questo caso, probabilmente non sarai in grado di risolvere la causa effettiva del problema, quindi il tuo obiettivo dovrebbe essere quello di risolvere il problema. Se possibile, isolare e rimuovere il componente hardware o software difettoso.

Molti problemi possono essere risolti attraverso procedure di risoluzione dei problemi di base, come la verifica delle istruzioni, la reinstallazione dei componenti chiave e la verifica delle date dei file. Inoltre, il Visualizzatore eventi, gli strumenti di diagnostica Sysinternals e gli strumenti di monitoraggio della rete potrebbero isolare e risolvere questi problemi.

Vedere anche