!analyze (WinDbg)
L'estensione !analyze visualizza informazioni sull'eccezione corrente o sul controllo dei bug.
Modalità utente
!analyze [-v[0..99]] [-f | -hang]
!analyze [-v[0..99]] -xml [-xmi] [-xcs] [-xmf OutputXmlFile]
!analyze -c [-load KnownIssuesFile | -unload | -help ]
Modalità kernel
!analyze [-v[0..99]] [-f | -hang]
!analyze -show BugCheckCode [BugParameters]
!analyze [-v[0..99]] -xml [-xmi] [-xcs] [-xmf OutputXmlFile]
!analyze -c [-load KnownIssuesFile | -unload | -help ]
Parametri generali
-v[0..99]
Visualizza output dettagliato. È possibile visualizzare altre informazioni specificando un numero compreso tra 0 e 99. Se non si specifica un numero, il valore predefinito è 1. È anche possibile specificare Molto dettagliato (-vv) per visualizzare tutte le informazioni disponibili.
Per la modalità utente, -v6 visualizza gli elementi individuati a livello globale e in ogni thread.
-f
Genera l'output dell'eccezione !analyze . Usare questo parametro per visualizzare un'analisi delle eccezioni anche quando il debugger non rileva un'eccezione.
-appendere
Genera l'output di !analyze hung-application. Usare questo parametro quando la destinazione ha riscontrato un controllo di bug o un'eccezione. Tuttavia, un'analisi del motivo per cui un'applicazione è bloccata è più rilevante per il problema. In modalità kernel, !analyze -hang analizza i blocchi che il sistema contiene e quindi analizza la catena di code DPC. In modalità utente, !analyze -hang analizza lo stack di thread per determinare se i thread bloccano altri thread.
Prima di eseguire questa estensione in modalità utente, prendere in considerazione la possibilità di modificare il thread corrente nel thread che si ritiene che abbia smesso di rispondere ( ovvero bloccato). È consigliabile eseguire questa modifica perché l'eccezione potrebbe aver modificato il thread corrente in uno diverso.
Mostra parametro
-mostrare BugCheckCode
[BugParameters]
Visualizza informazioni sul controllo dei bug specificato da BugCheckCode
. BugParameters
specifica fino a quattro parametri di controllo dei bug separati da spazi. Questi parametri consentono di perfezionare ulteriormente la ricerca.
Continuare i parametri di esecuzione
-c
Continua l'esecuzione quando il debugger rileva un problema noto. Se il problema non è noto, il debugger rimane suddiviso nella destinazione.
È possibile usare l'opzione -c con i sottoparametri seguenti. Questi sottoparametri configurano l'elenco dei problemi noti. Non causano l'esecuzione da soli. Finché non si esegue !analyze -c-load **** almeno una volta, !analyze -c non ha alcun effetto.
-carico KnownIssuesFile
Carica il file di problemi noti specificato. KnownIssuesFile
specifica il percorso e il nome del file. Questo file deve essere in formato XML.
L'elenco dei problemi noti nel KnownIssuesFile
file viene usato per tutti i comandi -c successivi fino a quando non si usa -c -unload o fino a quando non si usa -c -load di nuovo (a questo punto i nuovi dati sostituiscono i dati precedenti).
-scaricare
Scarica l'elenco corrente di problemi noti.
-help
Visualizza la Guida per l'estensione dei comandi di estensione !analyze -c nella finestra di comando Debugger.
Parametri dell'opzione di caricamento XML
-XML
Genera l'output di analisi in formato XML.
-xmi
Aggiunge informazioni sul modulo all'output xml. Questa opzione richiede -xml o -xmf.
-xcs
Aggiunge il contesto e i frame dello stack di chiamate all'output xml. Questa opzione richiede -xml o -xmf.
-xmf OutputXmlFile
Scrive l'analisi nell'oggetto specificato OutputXmlFile
in formato XML. Il file verrà sovrascritto se esiste già. Non verrà generato alcun output di analisi nella console o nel log, a meno che non venga specificata anche l'opzione -xml.
DLL
ext.dll
Informazioni aggiuntive
Per l'analisi di esempio di un'eccezione in modalità utente e di un errore di arresto in modalità kernel (ovvero arresto anomalo) e per altre informazioni su come !analyze usa il file triage.ini, vedere Uso dell'estensione !analyze.
Osservazioni:
In modalità utente, !analyze visualizza informazioni sull'eccezione corrente.
In modalità kernel, !analyze visualizza informazioni sul controllo dei bug più recente. Se si verifica un controllo dei bug, la visualizzazione !analyze viene generata automaticamente. È possibile usare !analyze -v per visualizzare informazioni aggiuntive. Se si desidera visualizzare solo i parametri di controllo dei bug di base, è possibile usare il comando .bugcheck (visualizzare i dati di controllo dei bug).
Per i driver che usano User-Mode Driver Framework (UMDF) versione 2.15 o successiva, !analyze fornisce informazioni sugli errori del verificatore UMDF e sulle eccezioni non gestite. Questa funzionalità è disponibile quando si esegue il debug in modalità kernel in tempo reale e quando si analizza un file di dump della memoria in modalità utente. Per gli arresti anomali del driver UMDF, !analizza i tentativi di identificare il driver responsabile.