Examinar as opções de configuração do ponto de interrupção
- 6 minutos
Os depuradores são usados para ajudá-lo a analisar seu código e podem ser usados para controlar a execução do tempo de execução do programa. Quando você inicia o depurador de código do Visual Studio, ele imediatamente começa a executar seu código. Como seu código é executado em microssegundos, a depuração de código eficaz depende de sua capacidade de pausar o programa em qualquer instrução dentro de seu código. Os pontos de interrupção são usados para especificar onde a execução de código é pausada.
Definir pontos de interrupção
Visual Studio Code fornece várias maneiras de configurar pontos de interrupção em seu código. Por exemplo:
- Editor de código: você pode definir um ponto de interrupção no Editor de Códigos do Visual Studio clicando na coluna à esquerda de um número de linha.
- Menu Executar: Você pode ativar ou desativar um ponto de interrupção no menu Executar . A linha de código atual no Editor indica onde a ação Alternar Ponto de Interrupção é aplicada.
Quando um ponto de interrupção é definido, um círculo vermelho é exibido à esquerda do número da linha no Editor. Quando você executa o código no depurador, a execução pausa no ponto de interrupção.
Remover, desativar e ativar pontos de interrupção
Depois de definir pontos de interrupção em seu aplicativo e usá-los para isolar um problema, convém remover ou desabilitar os pontos de interrupção.
Para remover um ponto de interrupção, repita a ação usada para definir um ponto de interrupção. Por exemplo, clique no círculo vermelho à esquerda do número da linha ou use a opção de alternar ponto de interrupção no menu Executar .
E se quiseres manter um local de ponto de interrupção, mas não queres que ele seja acionado durante a próxima sessão de depuração? O Visual Studio Code permite que você "desabilite" um ponto de interrupção em vez de removê-lo completamente. Para desativar um ponto de interrupção ativo, clique com o botão direito do rato no ponto vermelho à esquerda do número da linha e, em seguida, selecione Desativar Ponto de Interrupção no menu de contexto.
Quando você desabilita um ponto de interrupção, o ponto vermelho à esquerda do número da linha é alterado para um ponto cinza.
Observação
O menu de contexto que aparece quando você clica com o botão direito do mouse em um ponto de interrupção também inclui as opções para Remover ponto de interrupção (Excluir) e Editar ponto de interrupção. A opção Editar ponto de interrupção é examinada na seção Pontos de interrupção condicionais e pontos de log, mais adiante nesta unidade.
Além de gerenciar pontos de interrupção individuais no Editor, o menu Executar fornece opções para executar operações em massa que atuam em todos os pontos de interrupção:
- Ativar todos os pontos de interrupção: use esta opção para habilitar todos os pontos de interrupção desabilitados.
- Desativar todos os pontos de interrupção: use esta opção para desativar todos os pontos de interrupção.
- Remover Todos os Pontos de Interrupção: Use esta opção para remover todos os pontos de interrupção (os pontos de interrupção ativados e desativados são removidos).
Pontos de interrupção condicionais
Um ponto de interrupção condicional é um tipo especial de ponto de interrupção que só é acionado quando uma condição especificada é atendida. Por exemplo, você pode criar um ponto de interrupção condicional que pausa a execução quando uma variável nomeada numItems é maior que 5.
Você já viu que clicar com o botão direito do mouse em um ponto de interrupção abre um menu de contexto que inclui a opção Editar ponto de interrupção . Selecionar Editar ponto de interrupção permite alterar um ponto de interrupção padrão em um ponto de interrupção condicional.
Além de editar um ponto de interrupção existente, você também pode definir um ponto de interrupção condicional diretamente. Se você clicar com o botão direito do mouse (em vez de clicar com o botão esquerdo) para definir um novo ponto de interrupção, poderá optar por criar um ponto de interrupção condicional.
Ao criar um ponto de interrupção condicional, você precisa especificar uma expressão que represente a condição.
Cada vez que o depurador encontra o ponto de interrupção condicional, ele avalia a expressão. Se a expressão for avaliada como true, o ponto de interrupção será acionado e a execução será pausada. Se a expressão for avaliada como false, a execução continuará como se não houvesse um ponto de interrupção.
Por exemplo, suponha que você precise depurar algum código que esteja dentro do bloco de código de um for loop. Reparaste que o problema que estás a depurar só ocorre depois que o loop tiver concluído várias iterações. Você decide que deseja que o ponto de interrupção seja acionado quando a variável de controle de iteração do loop, i, for maior que três. Você cria um ponto de interrupção condicional e especifica a expressão i > 3.
Quando executa o seu código no depurador, ignora o ponto de interrupção até à iteração em que i > 3 é avaliado como true. Quando i = 4, a execução é interrompida no ponto de interrupção condicional.
Suporte para Hit Count pontos de interrupção e Logpoints
O depurador C# para Visual Studio Code também oferece suporte a Hit Count pontos de interrupção e Logpoints.
Um ponto de interrupção de 'contagem de acertos' pode ser usado para especificar o número de vezes que um ponto de interrupção deve ser encontrado antes de 'quebrar' a execução. Você pode especificar um valor de contagem de acertos ao criar um novo ponto de interrupção (com a ação Adicionar ponto de interrupção condicional) ou ao modificar um existente (com a ação Editar condição). Em ambos os casos, uma caixa de texto embutida com um menu suspenso é aberta, onde você pode inserir o valor da contagem de acertos.
Um 'Logpoint' é uma variante de um ponto de interrupção que não interrompe o depurador, mas sim regista uma mensagem no console. Os pontos de log são especialmente úteis para adicionar registros durante a depuração de ambientes de produção que não podem ser pausados ou interrompidos. Um Logpoint é representado por um ícone em forma de "diamante" em vez de um círculo preenchido. As mensagens de log são texto simples, mas podem incluir expressões a serem avaliadas dentro de chaves ('{}').
Os pontos de log podem incluir uma 'expressão' condicional e/ou 'contagem de acertos' para controlar ainda mais quando as mensagens de registro são geradas. Por exemplo, pode combinar uma mensagem de Logpoint de i = {i} com a condição de contagem de acertos >4 para gerar mensagens de log da seguinte maneira:
Recapitulação
Aqui estão algumas coisas importantes para lembrar desta unidade:
- O Visual Studio Code permite definir pontos de interrupção no editor de códigos ou no menu Executar . As linhas de código de ponto de paragem são marcadas com um ponto vermelho à esquerda do número da linha.
- Os pontos de interrupção podem ser removidos ou desativados usando as mesmas opções usadas para defini-los. As operações em massa que afetam todos os pontos de interrupção estão disponíveis no menu Executar .
- Os pontos de interrupção condicionais podem ser usados para pausar a execução quando uma condição especificada é atendida ou quando uma 'contagem de acertos' é atingida.
- Os pontos de log podem ser usados para registrar informações no terminal sem pausar a execução ou inserir código.