Share via


Token del flusso di controllo

È possibile usare i token del flusso di controllo per creare cicli di esecuzione ed esecuzione condizionali all'interno dei programmi di comando del debugger.

I token del flusso di controllo si comportano come le controparti in C e C++, con le eccezioni generali seguenti:

  • È necessario racchiudere ogni blocco di comandi che viene eseguito in modo condizionale o ripetutamente tra parentesi graffe, anche se è presente un solo comando di questo tipo. Ad esempio, non è possibile omettere le parentesi graffe nel comando seguente.

    0:000> .if (ebx>0) { r ebx }
    
  • Ogni condizione deve essere un'espressione. I comandi non sono consentiti. Ad esempio, l'esempio seguente genera un errore di sintassi.

    0:000> .while (r ebx) { .... }
    
  • Il comando finale prima di una parentesi graffa di chiusura non deve essere seguito da un punto e virgola.

I token del flusso di controllo seguenti sono supportati all'interno di un programma di comando del debugger. Per altre informazioni sulla sintassi di ogni token, vedere i singoli argomenti di riferimento.

  • Il token .if si comporta come la parola chiave if in C.

  • Il token .else si comporta come la parola chiave else in C.

  • Il token elsif si comporta come la combinazione di parole chiave else if in C.

  • Il token foreach analizza l'output dei comandi del debugger, una stringa o un file di testo. Questo token accetta quindi ogni elemento trovato e li usa come input per un elenco specificato di comandi del debugger.

  • Il .for token si comporta come la parola chiave for in C, ad eccezione del fatto che è necessario separare più comandi di incremento per punto e virgola, non per virgole.

  • Il token .while si comporta come la parola chiave while in C.

  • Il token .do si comporta come la parola chiave do in C, ad eccezione del fatto che non è possibile usare la parola "while" prima della condizione.

  • Il token di interruzione si comporta come la parola chiave break in C. È possibile usare questo token all'interno di qualsiasi ciclo .for, .while o .do .

  • Il token .continue si comporta come la parola chiave continue in C. È possibile usare questo token all'interno di qualsiasi ciclo .for, .while o .do .

  • Il token .catch impedisce a un programma di terminare se si verifica un errore. Il token .catch è seguito da parentesi graffe che racchiudono uno o più comandi. Se uno di questi comandi genera un errore, viene visualizzato il messaggio di errore, tutti i comandi rimanenti all'interno delle parentesi graffe vengono ignorati e l'esecuzione riprende con il primo comando dopo la parentesi graffa di chiusura.

  • Il token .leave viene usato per uscire da un blocco .catch .

  • Il token .printf si comporta come l'istruzione printf in C.

  • Il token .block non esegue alcuna azione. È consigliabile usare questo token solo per introdurre un blocco, perché non è possibile creare un blocco solo usando una coppia di parentesi graffe. È necessario aggiungere un token del flusso di controllo prima della parentesi graffa di apertura.

Le estensioni !for_each_module, !for_each_frame e !for_each_local sono utili anche con un programma di comando del debugger.