Analizzare i dati della schermata blu del controllo dei bug
Nota
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.
Nota
Se si è un professionista IT o un agente di supporto tecnico, vedere Risoluzione avanzata dei problemi relativi agli errori di arresto o schermata blu per altre informazioni.
Raccogliere i parametri del codice di arresto
Ogni codice di controllo dei bug ha quattro parametri associati 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 di codice di arresto.
Esaminare il log di sistema di Windows nel Visualizzatore eventi. Le proprietà dell'evento per il controllo dei bug elencano i quattro parametri di codice di arresto. Per altre informazioni, vedere Aprire Visualizzatore eventi.
Caricare il file 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 con errori. 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
Controllare i nomi simbolici dei bug
DRIVER_POWER_STATE_FAILURE è il nome simbolico del controllo dei bug, con un codice di controllo bug associato 9F. Il valore esadecimale del codice di arresto associato al nome simbolico del controllo dei bug è elencato nel riferimento al codice di controllo dei bug.
Leggere le informazioni di controllo dei bug dal debugger
Se un debugger è collegato 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 essere visualizzata immediatamente. I dettagli completi su questo arresto anomalo verranno inviati al debugger e verranno visualizzati nella finestra del debugger. Per visualizzare queste informazioni una seconda volta, usare il comando .bugcheck (Visualizzare i dati di controllo dei bug) o il comando di estensione !analyze . Per informazioni sull'abilitazione del debug, vedere Introduzione a WinDbg (modalità kernel).
Debug del kernel e analisi del dump di arresto anomalo del kernel
Il debug del kernel è particolarmente utile quando altre tecniche di risoluzione dei problemi hanno esito negativo o per un problema ricorrente. Ricordarsi di acquisire il testo esatto nella sezione delle informazioni di controllo dei bug del messaggio di errore. Per isolare un problema complesso e sviluppare una soluzione alternativa praticabile, è utile registrare le azioni esatte che portano all'errore.
L'estensione di debug !analyze visualizza informazioni sul controllo dei bug e può essere utile per determinare la causa radice.
È anche possibile impostare un punto di interruzione nel codice che conduce a questo codice di arresto e tentare di eseguire un singolo passaggio avanti nel codice di errore.
Per altre informazioni, vedere gli articoli seguenti:
Analisi del dump di arresto anomalo del sistema usando i debugger di Windows (WinDbg)
Analisi di un file di dump in modalità kernel con WinDbg
Uso dell'estensione !analyze e !analyze
Gli strumenti di deframmentazione vengono visualizzati
Usare Driver Verifier per raccogliere informazioni
Si stima che circa tre quarti di schermate blu siano causate da errori dei driver. Driver Verifier è uno strumento in esecuzione in tempo reale per esaminare il comportamento dei driver. Ad esempio, Driver Verifier controlla l'uso di risorse di memoria, ad esempio pool di memoria. Se rileva errori nell'esecuzione del codice del driver, crea in modo proattivo un'eccezione per consentire l'ulteriore analisi di tale parte del codice driver. Gestione verifica driver è integrato in Windows ed è disponibile in tutti i PC Windows. Per avviare il gestore di verifica driver, immettere Verifier al prompt dei comandi. È possibile configurare i driver da verificare. Il codice che verifica i driver comporta un sovraccarico durante l'esecuzione, quindi provare a verificare il minor numero possibile di driver. Per altre informazioni, vedere Driver Verifier.
Suggerimenti per ingegneri software
Quando si verifica un controllo dei bug come risultato del codice scritto, è consigliabile usare 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 Informazioni di riferimento sul codice di controllo dei bug.
Tuttavia, è anche possibile che si verifichino controlli di bug che non sono causati dal proprio codice. In questo caso, probabilmente non sarà possibile risolvere la causa effettiva del problema, quindi l'obiettivo dovrebbe essere quello di risolvere il problema. Se possibile, isolare e rimuovere il componente hardware o software in errore.
Molti problemi possono essere risolti tramite procedure di risoluzione dei problemi di base, ad esempio 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.