Compartilhar via


Tutorial: Depurar um aplicativo de console do .NET usando o Visual Studio Code

Este tutorial apresenta as ferramentas de depuração disponíveis no Visual Studio Code para trabalhar com aplicativos .NET.

Este tutorial apresenta as ferramentas de depuração disponíveis nos Codespaces do GitHub para trabalhar com aplicativos .NET.

Pré-requisitos

Este tutorial funciona com o aplicativo de console que você cria no Criar um aplicativo de console do .NET usando o Visual Studio Code.

Definir um ponto de interrupção

Um ponto de interrupção interrompe temporariamente a execução do aplicativo antes que a linha com o ponto de interrupção seja executada.

  1. Inicie o Visual Studio Code.

  2. Abra a pasta do projeto que você criou em Criar um aplicativo de console do .NET usando o Visual Studio Code.

  3. Abra o arquivo Program.cs.

  4. Defina um ponto de interrupção na linha que exibe o nome, a data e a hora clicando na margem esquerda da janela de código. A margem esquerda está à esquerda dos números das linhas. Outras maneiras de definir um ponto de interrupção são pressionar F9 ou escolher Executar>Alternar Ponto de Interrupção no menu com a linha de código selecionada.

    O Visual Studio Code indica a linha na qual o ponto de interrupção é definido exibindo um ponto vermelho na margem esquerda.

    Conjunto de pontos de interrupção

  1. Abra o Codespace do GitHub criado em Criar um aplicativo de console do .NET usando o Visual Studio Code.

  2. Abra o arquivo de HelloWorld.cs .

  3. Defina um ponto de interrupção na linha que exibe o nome, a data e a hora clicando na margem esquerda da janela de código. A margem esquerda está à esquerda dos números das linhas. Você também pode definir um ponto de interrupção pressionando F9 enquanto a linha de código está selecionada.

    Conjunto de pontos de interrupção

Iniciar a depuração

Debug e Release são as configurações de build internas do .NET. Use a configuração de build de Debug para depuração e a configuração de build de Release para a distribuição final.

Por padrão, as configurações de inicialização do Visual Studio Code usam a configuração de build de depuração, portanto, você não precisa alterá-la antes da depuração.

  1. Abra a vista de depuração selecionando o ícone de depuração no menu à esquerda.

    Abrir a guia Depurar no Visual Studio Code

  2. Selecione Executar e Depurar. Se solicitado, selecione C# e, em seguida, selecione C#: Iniciar projeto de inicialização. Outras maneiras de iniciar o programa no modo de depuração são pressionando F5 ou escolhendo Executar>Iniciar Depuração no menu.

    Iniciar depuração

  3. Se for solicitado a selecionar Configuração de Inicialização, selecione C#: Depurar Arquivo Ativo.

  4. Selecione a guia Console de Depuração para ver o prompt "Qual é o seu nome?" exibido pelo programa antes de aguardar uma resposta.

    Selecione a guia Console de Depuração

  5. Insira uma cadeia de caracteres na janela Console de Depuração em resposta ao prompt para um nome, depois pressione Enter.

    A execução do programa é interrompida quando atinge o ponto de interrupção e antes da execução do Console.WriteLine método. A seção Locals da janela Variáveis exibe os valores das variáveis definidas no método em execução no momento.

    Ponto de interrupção atingido, mostrando Locais

Por padrão, o GitHub Codespaces usa a configuração de compilação Debug, portanto, você não precisa alterá-la antes da depuração.

  1. Abra a visualização de depuração selecionando o ícone de depuração no menu do lado esquerdo.

    Abra a guia Depurar no Visual Studio Code

  2. Selecione Executar e Depurar. Se solicitado, selecione C# como o depurador e selecione C#: Depurar Arquivo Ativo como a Configuração de Inicialização.

  3. Selecione a guia Console de Depuração para ver o prompt "Qual é o seu nome?" exibido pelo programa antes de aguardar uma resposta.

  4. Insira uma cadeia de caracteres como nome na janela Console de Depuração em resposta ao prompt e aperte Enter.

    A execução do programa é interrompida quando atinge o ponto de interrupção e antes da execução do Console.WriteLine método. A seção Locals da janela Variáveis exibe os valores das variáveis definidas no método em execução no momento.

    Ponto de interrupção atingido, mostrando locais

Usar o Console de Depuração

A janela Console de Depuração permite que você interaja com o aplicativo que está depurando. Você pode alterar o valor das variáveis para ver como ela afeta seu programa.

  1. Selecione a guia Console de Depuração.

  2. Insira name = "Gracie" no prompt na parte inferior da janela do Console de Depuração e pressione Enter.

    Alterar valores de variável

  3. Insira currentDate = DateTime.Parse("2026-01-28T20:54:00Z").ToUniversalTime() na parte inferior da janela Do Console de Depuração e pressione Enter.

    A janela Variáveis exibe os novos valores das variáveis name e currentDate.

  4. Continue a execução do programa selecionando o botão Continuar na barra de ferramentas. Outra maneira de continuar é pressionando F5.

    Continuar depurando

    Os valores exibidos na janela do console correspondem às alterações feitas no Console de Depuração.

    Terminal mostrando os valores inseridos

  5. Pressione Enter para sair do aplicativo e interromper a depuração.

Definir um ponto de interrupção condicional

O programa exibe a cadeia de caracteres que o usuário insere. O que acontece se o usuário não inserir nada? Você pode testar isso com um recurso útil de depuração chamado interrupção condicional.

  1. Clique com o botão direito do mouse (clique em Ctrl no macOS) no ponto vermelho que representa o ponto de interrupção. No menu de contexto, selecione Editar Ponto de Interrupção para abrir uma caixa de diálogo que permite inserir uma expressão condicional.

    Menu de contexto do ponto de interrupção

  2. Selecione Expression na lista suspensa, insira a expressão condicional a seguir e pressione Enter.

    String.IsNullOrEmpty(name)
    

    Inserir uma expressão condicional

    Sempre que o ponto de interrupção for atingido, o depurador chamará o método String.IsNullOrEmpty(name) e irá interromper nesta linha somente se a chamada do método retornartrue.

    Em vez de uma expressão condicional, você pode especificar uma contagem de ocorrências, que interrompe a execução do programa antes que uma instrução seja executada um número especificado de vezes. Outra opção é especificar uma condição de filtro, que interrompe a execução do programa com base em atributos como um identificador de thread, nome do processo ou nome do thread.

  3. Inicie o programa com a depuração pressionando F5.

  4. Na guia Console de Depuração, pressione Enter quando solicitado a digitar seu nome.

    Como a condição especificada (name é null ou String.Empty) foi atendida, a execução do programa é interrompida quando atinge o ponto de interrupção e antes da execução do Console.WriteLine método.

    A janela Variáveis mostra que o valor da name variável é "", ou String.Empty.

  5. Confirme se o valor é uma cadeia de caracteres vazia inserindo a instrução a seguir no prompt do Console de Depuração e pressionando Enter. O resultado é true.

    name == String.Empty
    
  6. Selecione o botão Continuar na barra de ferramentas para continuar a execução do programa.

  7. Pressione Enter para sair do programa e interromper a depuração.

  8. Desmarque o ponto de interrupção clicando no ponto na margem esquerda da janela de código. Outras maneiras de remover um ponto de interrupção são pressionando F9 ou escolhendo Executar > Alternar Ponto de Interrupção no menu com a linha de código selecionada.

  9. Se você receber um aviso de que a condição do ponto de interrupção será perdida, selecione Remover Ponto de Interrupção.

Percorrer um programa

O Visual Studio Code também permite que você avance linha a linha em um programa e monitore sua execução. Normalmente, você definiria um ponto de interrupção e seguiria o fluxo do programa por meio de uma pequena parte do código do programa. Como este programa é pequeno, você pode percorrer todo o programa.

  1. Defina um ponto de interrupção na linha de código que exibe o prompt "Qual é o seu nome?".

  2. Pressione F5 para iniciar a depuração.

    O Visual Studio Code destaca a linha de ponto de interrupção.

    Neste ponto, a janela Variáveis mostra que a args matriz está vazia e namecurrentDate tem valores padrão.

  3. Selecione Entrar na barra de ferramentas de depuração ou pressione F11.

    Botão Step-Into

    O Visual Studio Code realça a próxima linha.

  4. O Visual Studio Code executa o Console.WriteLine para o prompt de nome e realça a próxima linha de execução. A próxima linha é o Console.ReadLine para o name. A janela Variáveis permanece inalterada e a guia Terminal mostra o prompt "Qual é o seu nome?".

  5. Selecione Entrar ou pressione F11.

    O Visual Studio Code realça a atribuição da variável name. A janela Variáveis mostra que name ainda nullé .

  6. Responda ao prompt inserindo uma cadeia de caracteres na guia Terminal e pressionando Enter.

    A guia Console de Depuração pode não exibir a cadeia de caracteres que você insere enquanto a insere, mas o Console.ReadLine método capturará sua entrada.

  7. Selecione Entrar ou pressione F11.

    O Visual Studio Code realça a atribuição de variável currentDate. A janela Variáveis mostra o valor retornado pela chamada para o Console.ReadLine método. A guia Terminal exibe a cadeia de caracteres que você inseriu no prompt.

  8. Selecione Entrar ou pressione F11.

    A janela Variáveis mostra o valor da currentDate variável após a atribuição da DateTime.Now propriedade.

  9. Selecione Entrar ou pressione F11.

    O Visual Studio Code chama o Console.WriteLine(String, Object, Object) método. A janela do console exibe a cadeia de caracteres formatada.

  10. Selecione Sair ou pressione Shift+F11.

    botão Step-Out

    O terminal exibe "Pressione qualquer tecla para sair..."

  11. Pressione qualquer tecla para sair do programa.

Usar a configuração de build de versão

Depois de testar a versão Debug do seu aplicativo, você também deverá compilar e testar a versão Release. A versão Release incorpora otimizações do compilador que podem afetar o comportamento de um aplicativo. Por exemplo, otimizações de compilador que são projetadas para melhorar o desempenho podem criar condições de disputa em aplicativos multithread.

Para criar e testar a versão de Release do seu aplicativo de console, abra o Terminal e execute o seguinte comando:

dotnet run --configuration Release

Para criar e testar a versão de Release do seu aplicativo de console, execute o seguinte comando no terminal:

dotnet run --configuration Release HelloWorld.cs

Próximas etapas

Neste tutorial, você usou as ferramentas de depuração do Visual Studio Code. No próximo tutorial, você publicará uma versão implantável do aplicativo.