gh (Go with Exception Handled)
Il comando gh contrassegna l'eccezione del thread specificato come gestita e consente al thread di riavviare l'esecuzione nell'istruzione che ha causato l'eccezione.
Sintassi in modalità utente
[~Thread] gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
Sintassi in modalità kernel
gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
Parametri
Filo
(solo modalità utente) Specifica il thread da eseguire. Questo thread deve essere stato arrestato da un'eccezione. Per informazioni dettagliate sulla sintassi, vedere Sintassi dei thread.
un
Fa sì che qualsiasi punto di interruzione creato da questo comando sia un punto di interruzione del processore (come quelli creati da ba) anziché un punto di interruzione software (come quelli creati da bp e bm). Se BreakAddress non viene specificato, non viene creato alcun punto di interruzione e il flag non ha alcun effetto.
StartAddress
Specifica l'indirizzo in corrispondenza del quale deve iniziare l'esecuzione. Se non viene specificato, il debugger passa l'esecuzione all'indirizzo in cui si è verificata l'eccezione. Per altri dettagli sulla sintassi, vedere Sintassi dell'intervallo di indirizzi e indirizzo.
BreakAddress
Specifica l'indirizzo per un punto di interruzione. Se viene specificato BreakAddress , deve specificare un indirizzo di istruzione, ovvero l'indirizzo deve contenere il primo byte di un'istruzione. È possibile specificare fino a dieci indirizzi di interruzione, in qualsiasi ordine, contemporaneamente. Se breakAddress non può essere risolto, viene archiviato come punto di interruzione non risolto. Per altri dettagli sulla sintassi, vedere Sintassi dell'intervallo di indirizzi e indirizzo.
BreakCommands
Specifica uno o più comandi da eseguire automaticamente quando viene raggiunto il punto di interruzione specificato da BreakAddress . Il parametro BreakCommands deve essere preceduto da un punto e virgola. Se vengono specificati più valori BreakAddress , BreakCommands si applica a tutti.
Nota Il parametro BreakCommands è disponibile solo quando si incorpora questo comando all'interno di una stringa di comando usata da un altro comando, ad esempio all'interno di un altro comando del punto di interruzione o all'interno di un'impostazione tranne o evento. In una riga di comando, il punto e virgola terminerà il comando gh e tutti i comandi aggiuntivi elencati dopo il punto e virgola verranno eseguiti immediatamente dopo il completamento del comando gh .
Ambiente
Articolo | Descrizione |
---|---|
Modalità | modalità utente, modalità kernel |
Target | solo debug in tempo reale |
Piattaforme | tutto |
Informazioni aggiuntive
Per altri metodi di esecuzione di questo comando e una panoramica dei comandi correlati, vedere Controllo della destinazione.
Osservazioni:
Se si usa il parametro BreakAddress per impostare un punto di interruzione, questo nuovo punto di interruzione verrà attivato solo dal thread corrente. Altri thread che eseguono il codice in tale posizione non verranno arrestati.
Se si specifica Thread , il comando gh viene eseguito con il thread specificato senza controllo e con tutti gli altri elementi bloccati. Ad esempio, se viene specificato il comando ~123gh, ~#gh o ~*gh , i thread specificati vengono annullati e tutti gli altri vengono bloccati.