gc (Vai dal punto di interruzione condizionale)
Il comando gc riprende l'esecuzione da un punto di interruzione condizionale nello stesso modo usato per colpire il punto di interruzione (passaggio, traccia o esecuzione libera). Questo vale solo per lo stile precedente dei punti di interruzione condizionale usando un "j (Condizione) ..." espressione di stile, anziché il punto di interruzione condizionale "/w" più semplice. Per altre informazioni, vedere Impostazione di un punto di interruzione condizionale.
gc
Anche se questo comando non è più utile per i punti di interruzione condizionali, può comunque essere usato per i punti di interruzione che eseguono la registrazione o un'altra attività senza interrompere il debugger. Ad esempio, è possibile scrivere un punto di interruzione simile al seguente:
bp module!myFunction ".echo myFunction executed; gc"
Se invece viene usato un normale comando "g", il programma continuerà l'esecuzione durante l'esecuzione di "myFunction", anziché semplicemente stampare il messaggio e continuare l'operazione di passaggio.
Ambiente
Elemento | Descrizione |
---|---|
Modalità | modalità utente, modalità kernel |
Targets | solo debug live |
Piattaforme | all |
Informazioni aggiuntive
Per una panoramica dei comandi correlati, vedere Controllo della destinazione.
Commenti
Quando un punto di interruzione condizionale usa un "j (Condizione) ..." espressione include un comando di esecuzione alla fine, questo deve essere il comando gc .
Ad esempio, il seguente è un punto di interruzione condizionale di esempio:
0:000> bp Address "j (Condition) 'OptionalCommands'; 'gc' "
Quando viene rilevato questo punto di interruzione e l'espressione è false, l'esecuzione riprenderà usando lo stesso tipo di esecuzione usato in precedenza. Ad esempio, se si usa un comando g (Go) per raggiungere questo punto di interruzione, l'esecuzione riprenderà liberamente. Tuttavia, se è stato raggiunto questo punto di interruzione durante l'esecuzione o l'analisi, l'esecuzione riprenderà con un passaggio o una traccia.
D'altra parte, il seguente è una formulazione non corretta del punto di interruzione, poiché l'esecuzione riprenderà sempre liberamente anche se si era stato eseguito prima di raggiungere il punto di interruzione:
0:000> bp Address "j (Condition) 'OptionalCommands'; 'g' "