gn, gN (Go with Exception Not Handled)
I comandi gn e gN continuano l'esecuzione del thread specificato senza contrassegnare l'eccezione come gestita. In questo modo il gestore eccezioni dell'applicazione può gestire l'eccezione.
Sintassi in modalità utente
[~Thread] gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
[~Thread] gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
Sintassi in modalità kernel
gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
gN[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 cui 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 e tutti i comandi aggiuntivi elencati dopo l'esecuzione del punto e virgola al termine del comando gn o gN .
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 il debugger non viene arrestato in corrispondenza di un punto di interruzione, gn e gN si comportano in modo identico. Se il debugger viene arrestato in corrispondenza di un punto di interruzione, gn non funzionerà. Per eseguire questo comando, è necessario usare il maiuscolo "N". Si tratta di una precauzione di sicurezza, poiché raramente è saggio continuare un punto di interruzione non gestito.
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 gn viene eseguito con il thread specificato non bloccato e tutti gli altri. Ad esempio, se viene specificato il comando ~123gn, ~#gn o ~*gn , i thread specificati non vengono bloccati e tutti gli altri vengono bloccati.