Compartilhar via


Tokens de fluxo de controle

Você pode usar tokens de fluxo de controle para criar loops condicionais de execução e execução dentro de programas de comando do depurador.

Os tokens de fluxo de controle se comportam como seus equivalentes em C e C++, com as seguintes exceções gerais:

  • Você deve colocar entre si cada bloco de comandos que é executado condicionalmente ou repetidamente em chaves, mesmo que haja apenas um desses comandos. Por exemplo, você não pode omitir as chaves no comando a seguir.

    0:000> .if (ebx>0) { r ebx }
    
  • Cada condição deve ser uma expressão. Comandos não são permitidos. Por exemplo, o exemplo a seguir produz um erro de sintaxe.

    0:000> .while (r ebx) { .... }
    
  • O comando final antes de uma chave de fechamento não precisa ser seguido por ponto-e-vírgula.

Os tokens de fluxo de controle a seguir são suportados em um programa de comando do depurador. Para obter mais informações sobre a sintaxe de cada token, consulte os tópicos de referência individuais.

  • O token .if se comporta como a palavra-chave if em C.

  • O token .else se comporta como a palavra-chave else em C.

  • O token .elsif se comporta como a combinação de palavras-chave if em C.

  • O token .foreach analisa a saída de comandos do depurador, uma cadeia de caracteres ou um arquivo de texto. Esse token, em seguida, pega cada item que ele encontra e os usa como a entrada para uma lista especificada de comandos do depurador.

  • O token .for se comporta como a palavra-chave for em C, exceto que você deve separar vários comandos de incremento por ponto-e-vírgula, não por vírgulas.

  • O token .while comporta-se como a palavra-chave while em C.

  • O token .do se comporta como a palavra-chave do em C, exceto que você não pode usar a palavra "while" antes da condição.

  • O token .break se comporta como a palavra-chave break em C. Você pode usar esse token em qualquer loop .for, .while ou .do .

  • O token .continue se comporta como a palavra-chave continue em C. Você pode usar esse token em qualquer loop .for, .while ou .do .

  • O token .catch impede que um programa termine se ocorrer um erro. O token .catch é seguido por chaves que incluem um ou mais comandos. Se um desses comandos gerar um erro, a mensagem de erro será exibida, todos os comandos restantes dentro das chaves serão ignorados e a execução será retomada com o primeiro comando após a chave de fechamento.

  • O token .leave é usado para sair de um bloco .catch .

  • O token .printf se comporta como a instrução printf em C.

  • O token .block não executa nenhuma ação. Você deve usar esse token apenas para introduzir um bloco, porque você não pode criar um bloco usando apenas um par de chaves. Você deve adicionar um token de fluxo de controle antes da chave de abertura.

As extensões !for_each_module, !for_each_frame e !for_each_local também são úteis com um programa de comando do depurador.