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

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

Pré-requisitos

Usar a configuração do build de depuração

Depuração e Lançamento são as configurações de build internas do .NET. Você usa a configuração do build de depuração para depuração e a configuração da versão para a distribuição da versão final.

Na configuração de depuração, um programa é compilado com informações de depuração simbólicas e sem otimização. A otimização complica a depuração, porque a relação entre o código fonte e as instruções geradas é mais complexa. A configuração de versão de um programa não possui informações de depuração simbólica e é totalmente otimizada.

Por padrão, as configurações de inicialização do Visual Studio Code usam a configuração de compilação de depuração, portanto, não é necessário alterá-la antes da depuração.

  1. Inicie o Visual Studio Code.

  2. Abra a pasta do projeto que você criou em Criar um aplicativo de console .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 de a linha com o ponto de interrupção ser executada.

  1. Abra o arquivo Program.cs.

  2. 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 fica à esquerda dos números de linha. Um ponto de interrupção também pode ser definido pressionando F9 ou escolhendo Executar>Ativar/desativar pontos de interrupção no menu enquanto a linha de código está selecionada.

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

    Breakpoint set

Configurar para entrada de terminal

O ponto de interrupção está localizado após uma chamada de método Console.ReadLine. O Console de Depuração não aceita a entrada de terminal para um programa em execução. Para lidar com a entrada de terminal durante a depuração, você pode usar o terminal integrado (uma das janelas do Visual Studio Code) ou um terminal externo. Neste tutorial, você usa o terminal integrado.

  1. A pasta do projeto contém uma pasta .vscode. Abra o arquivo launch.json que está na pasta .vscode.

  2. Em launch.json, altere a configuração console de internalConsole para integratedTerminal:

    "console": "integratedTerminal",
    
  3. Salve suas alterações.

Iniciar a depuração

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

    Open the Debug tab in Visual Studio Code

  2. Selecione a seta verde na parte superior do painel, ao lado de Inicialização do .NET Core (console). O programa também pode ser iniciado no modo de depuração pressionando F5 ou escolhendo Executar>Iniciar Depuração no menu.

    Start debugging

  3. Selecione a guia Terminal para ver o prompt "Qual é o seu nome?" que o programa exibe antes de aguardar uma resposta.

    Select the Terminal tab

  4. Digite uma cadeia de caracteres na janela Terminal em resposta ao prompt de nome e, em seguida, pressione Enter.

    A execução do programa para quando ele atinge o ponto de interrupção e antes de o método Console.WriteLine ser executado. A seção Locais da janela Variáveis exibe os valores das variáveis que são definidas no método que está sendo executado no momento.

    Breakpoint hit, showing Locals

Usar o console de depuração

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

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

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

    Change variable values

  3. Insira currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() na parte inferior da janela Console de Depuração e pressione a tecla 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.

    Continue debugging

  5. Selecione a guia Terminal novamente.

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

    Terminal showing the entered values

  6. Pressione qualquer tecla para sair do aplicativo e parar a depuração.

Definir um ponto de interrupção condicional

O programa exibe a cadeia de caracteres que o usuário insere. O que acontecerá se o usuário não inserir nada? Isso pode ser testado com um recurso de depuração útil chamado ponto de interrupção condicional.

  1. Clique com o botão direito (Ctrl + clique no macOS) do mouse 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.

    Breakpoint context menu

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

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    Em todas as ocorrências do ponto de interrupção, o depurador chama o método String.IsNullOrEmpty(name) e ele é interrompido nessa linha somente quando a chamada do método retorna true.

    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 determinado número 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 Terminal, pressione a tecla Enter quando solicitado a inserir seu nome.

    Como a condição especificada (name é null ou String.Empty) foi atendida, a execução do programa para quando ele chega no ponto de interrupção e antes de o método Console.WriteLine ser executado.

    A janela Variáveis mostra que o valor da variável name é "" 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. Selecione a guia Terminal e pressione qualquer tecla 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. Um ponto de interrupção também pode ser desmarcado pressionando F9 ou escolhendo Executar > Ativar/desativar pontos de interrupção no menu enquanto a linha de código está 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 percorrer linha por linha de um programa e monitorar sua execução. Normalmente, você define um ponto de interrupção e segue o fluxo do programa por uma pequena parte do código do programa. Como esse programa é pequeno, você pode percorrer todo o programa.

  1. Defina um ponto de interrupção na chave de abertura do método Main.

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

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

    Neste ponto, a janela Variáveis mostra que a matriz args está vazia e name e currentDate têm valores padrão.

  3. Selecione Executar>Intervir pressione F11.

    Step-Into button

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

  4. Selecione Executar>Intervir pressione F11.

    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 do name. A janela Variáveis não é alterada e a guia Terminal mostra o prompt "Qual é o seu nome?".

  5. Selecione Executar>Intervir pressione F11.

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

  6. Responda à solicitação inserindo uma cadeia de caracteres na guia Terminal e pressionando Enter.

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

  7. Selecione Executar>Intervir pressione F11.

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

  8. Selecione Executar>Intervir pressione F11.

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

  9. Selecione Executar>Intervir pressione F11.

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

  10. Selecione Executar>Depuração Circular ou pressione Shift+F11.

    Step-Out button

  11. Selecione a guia Terminal.

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

  12. Pressione qualquer tecla para encerrar o programa.

Usar a configuração de build da Versão

Quando tiver testado a versão da depuração do seu aplicativo, você deverá compilar e testar a versão de lançamento. A versão de Lançamento incorpora otimizações do compilador que podem afetar o comportamento de um aplicativo. Por exemplo, as otimizações de compilador que são projetadas para melhorar o desempenho podem criar condições de corrida em aplicativos multi-threaded.

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

dotnet run --configuration Release

Recursos adicionais

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.

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

Pré-requisitos

Usar a configuração do build de depuração

Depuração e Lançamento são as configurações de build internas do .NET. Você usa a configuração do build de depuração para depuração e a configuração da versão para a distribuição da versão final.

Na configuração de depuração, um programa é compilado com informações de depuração simbólicas e sem otimização. A otimização complica a depuração, porque a relação entre o código fonte e as instruções geradas é mais complexa. A configuração de versão de um programa não possui informações de depuração simbólica e é totalmente otimizada.

Por padrão, as configurações de inicialização do Visual Studio Code usam a configuração de compilação de depuração, portanto, não é necessário alterá-la antes da depuração.

  1. Inicie o Visual Studio Code.

  2. Abra a pasta do projeto que você criou em Criar um aplicativo de console .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 de a linha com o ponto de interrupção ser executada.

  1. Abra o arquivo Program.cs.

  2. 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 fica à esquerda dos números de linha. Um ponto de interrupção também pode ser definido pressionando F9 ou escolhendo Executar>Ativar/desativar pontos de interrupção no menu enquanto a linha de código está selecionada.

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

    Breakpoint set

Configurar para entrada de terminal

O ponto de interrupção está localizado após uma chamada de método Console.ReadLine. O Console de Depuração não aceita a entrada de terminal para um programa em execução. Para lidar com a entrada de terminal durante a depuração, você pode usar o terminal integrado (uma das janelas do Visual Studio Code) ou um terminal externo. Neste tutorial, você usa o terminal integrado.

  1. A pasta do projeto contém uma pasta .vscode. Abra o arquivo launch.json que está na pasta .vscode.

  2. Em launch.json, altere a configuração console de internalConsole para integratedTerminal:

    "console": "integratedTerminal",
    
  3. Salve suas alterações.

Iniciar a depuração

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

    Open the Debug tab in Visual Studio Code

  2. Selecione a seta verde na parte superior do painel, ao lado de Inicialização do .NET Core (console). O programa também pode ser iniciado no modo de depuração pressionando F5 ou escolhendo Executar>Iniciar Depuração no menu.

    Start debugging

  3. Selecione a guia Terminal para ver o prompt "Qual é o seu nome?" que o programa exibe antes de aguardar uma resposta.

    Select the Terminal tab

  4. Digite uma cadeia de caracteres na janela Terminal em resposta ao prompt de nome e, em seguida, pressione Enter.

    A execução do programa para quando ele atinge o ponto de interrupção e antes de o método Console.WriteLine ser executado. A seção Locais da janela Variáveis exibe os valores das variáveis que são definidas no método que está sendo executado no momento.

    Breakpoint hit, showing Locals

Usar o console de depuração

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

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

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

    Change variable values

  3. Insira currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() na parte inferior da janela Console de Depuração e pressione a tecla 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.

    Continue debugging

  5. Selecione a guia Terminal novamente.

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

    Terminal showing the entered values

  6. Pressione qualquer tecla para sair do aplicativo e parar a depuração.

Definir um ponto de interrupção condicional

O programa exibe a cadeia de caracteres que o usuário insere. O que acontecerá se o usuário não inserir nada? Isso pode ser testado com um recurso de depuração útil chamado ponto de interrupção condicional.

  1. Clique com o botão direito (Ctrl + clique no macOS) do mouse 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.

    Breakpoint context menu

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

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    Em todas as ocorrências do ponto de interrupção, o depurador chama o método String.IsNullOrEmpty(name) e ele é interrompido nessa linha somente quando a chamada do método retorna true.

    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 determinado número 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 Terminal, pressione a tecla Enter quando solicitado a inserir seu nome.

    Como a condição especificada (name é null ou String.Empty) foi atendida, a execução do programa para quando ele chega no ponto de interrupção e antes de o método Console.WriteLine ser executado.

    A janela Variáveis mostra que o valor da variável name é "" 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. Selecione a guia Terminal e pressione qualquer tecla 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. Um ponto de interrupção também pode ser desmarcado pressionando F9 ou escolhendo Executar > Ativar/desativar pontos de interrupção no menu enquanto a linha de código está 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 percorrer linha por linha de um programa e monitorar sua execução. Normalmente, você define um ponto de interrupção e segue o fluxo do programa por uma pequena parte do código do programa. Como esse programa é pequeno, você pode percorrer todo o programa.

  1. Defina um ponto de interrupção na chave de abertura do método Main.

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

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

    Neste ponto, a janela Variáveis mostra que a matriz args está vazia e name e currentDate têm valores padrão.

  3. Selecione Executar>Intervir pressione F11.

    Step-Into button

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

  4. Selecione Executar>Intervir pressione F11.

    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 do name. A janela Variáveis não é alterada e a guia Terminal mostra o prompt "Qual é o seu nome?".

  5. Selecione Executar>Intervir pressione F11.

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

  6. Responda à solicitação inserindo uma cadeia de caracteres na guia Terminal e pressionando Enter.

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

  7. Selecione Executar>Intervir pressione F11.

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

  8. Selecione Executar>Intervir pressione F11.

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

  9. Selecione Executar>Intervir pressione F11.

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

  10. Selecione Executar>Depuração Circular ou pressione Shift+F11.

    Step-Out button

  11. Selecione a guia Terminal.

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

  12. Pressione qualquer tecla para encerrar o programa.

Usar a configuração de build da Versão

Quando tiver testado a versão da depuração do seu aplicativo, você deverá compilar e testar a versão de lançamento. A versão de Lançamento incorpora otimizações do compilador que podem afetar o comportamento de um aplicativo. Por exemplo, as otimizações de compilador que são projetadas para melhorar o desempenho podem criar condições de corrida em aplicativos multi-threaded.

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

dotnet run --configuration Release

Recursos adicionais

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.

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

Pré-requisitos

Usar a configuração do build de depuração

Depuração e Lançamento são as configurações de build internas do .NET. Você usa a configuração do build de depuração para depuração e a configuração da versão para a distribuição da versão final.

Na configuração de depuração, um programa é compilado com informações de depuração simbólicas e sem otimização. A otimização complica a depuração, porque a relação entre o código fonte e as instruções geradas é mais complexa. A configuração de versão de um programa não possui informações de depuração simbólica e é totalmente otimizada.

Por padrão, as configurações de inicialização do Visual Studio Code usam a configuração de compilação de depuração, portanto, não é necessário alterá-la antes da depuração.

  1. Inicie o Visual Studio Code.

  2. Abra a pasta do projeto que você criou em Criar um aplicativo de console .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 de a linha com o ponto de interrupção ser executada.

  1. Abra o arquivo Program.cs.

  2. 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 fica à esquerda dos números de linha. Um ponto de interrupção também pode ser definido pressionando F9 ou escolhendo Executar>Ativar/desativar pontos de interrupção no menu enquanto a linha de código está selecionada.

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

    Breakpoint set

Configurar para entrada de terminal

O ponto de interrupção está localizado após uma chamada de método Console.ReadLine. O Console de Depuração não aceita a entrada de terminal para um programa em execução. Para lidar com a entrada de terminal durante a depuração, você pode usar o terminal integrado (uma das janelas do Visual Studio Code) ou um terminal externo. Neste tutorial, você usa o terminal integrado.

  1. Abra .vscode/launch.json.

  2. Altere a configuração console de internalConsole para integratedTerminal:

    "console": "integratedTerminal",
    
  3. Salve suas alterações.

Iniciar a depuração

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

    Open the Debug tab in Visual Studio Code

  2. Selecione a seta verde na parte superior do painel, ao lado de Inicialização do .NET Core (console). O programa também pode ser iniciado no modo de depuração pressionando F5 ou escolhendo Executar>Iniciar Depuração no menu.

    Start debugging

  3. Selecione a guia Terminal para ver o prompt "Qual é o seu nome?" que o programa exibe antes de aguardar uma resposta.

    Select the Terminal tab

  4. Digite uma cadeia de caracteres na janela Terminal em resposta ao prompt de nome e, em seguida, pressione Enter.

    A execução do programa para quando ele atinge o ponto de interrupção e antes de o método Console.WriteLine ser executado. A seção Locais da janela Variáveis exibe os valores das variáveis que são definidas no método que está sendo executado no momento.

    Breakpoint hit, showing Locals

Usar o console de depuração

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

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

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

    Change variable values

  3. Insira currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() na parte inferior da janela Console de Depuração e pressione a tecla 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.

    Continue debugging

  5. Selecione a guia Terminal novamente.

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

    Terminal showing the entered values

  6. Pressione qualquer tecla para sair do aplicativo e parar a depuração.

Definir um ponto de interrupção condicional

O programa exibe a cadeia de caracteres que o usuário insere. O que acontecerá se o usuário não inserir nada? Isso pode ser testado com um recurso de depuração útil chamado ponto de interrupção condicional.

  1. Clique com o botão direito (Ctrl + clique no macOS) do mouse 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.

    Breakpoint context menu

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

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    Em todas as ocorrências do ponto de interrupção, o depurador chama o método String.IsNullOrEmpty(name) e ele é interrompido nessa linha somente quando a chamada do método retorna true.

    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 determinado número 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 Terminal, pressione a tecla Enter quando solicitado a inserir seu nome.

    Como a condição especificada (name é null ou String.Empty) foi atendida, a execução do programa para quando ele chega no ponto de interrupção e antes de o método Console.WriteLine ser executado.

    A janela Variáveis mostra que o valor da variável name é "" 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. Selecione a guia Terminal e pressione qualquer tecla 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. Um ponto de interrupção também pode ser desmarcado pressionando F9 ou escolhendo Executar > Ativar/desativar pontos de interrupção no menu enquanto a linha de código está 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 percorrer linha por linha de um programa e monitorar sua execução. Normalmente, você define um ponto de interrupção e segue o fluxo do programa por uma pequena parte do código do programa. Como esse programa é pequeno, você pode percorrer todo o programa.

  1. Defina um ponto de interrupção na chave de abertura do método Main.

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

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

    Neste ponto, a janela Variáveis mostra que a matriz args está vazia e name e currentDate têm valores padrão.

  3. Selecione Executar>Intervir pressione F11.

    Step-Into button

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

  4. Selecione Executar>Intervir pressione F11.

    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 do name. A janela Variáveis não é alterada e a guia Terminal mostra o prompt "Qual é o seu nome?".

  5. Selecione Executar>Intervir pressione F11.

    O Visual Studio destaca a atribuição de variável name. A janela Variáveis está desmarcada.

  6. Responda à solicitação inserindo uma cadeia de caracteres na guia Terminal e pressionando Enter.

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

    A janela Variáveis mostra o valor retornado pela chamada para o método Console.ReadLine.

  7. Selecione Executar>Intervir pressione F11.

    O Visual Studio Code destaca a atribuição de variável currentDate. A guia Terminal exibe a cadeia de caracteres inserida no prompt.

  8. Selecione Executar>Intervir pressione F11.

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

  9. Selecione Executar>Intervir pressione F11.

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

  10. Selecione Executar>Depuração Circular ou pressione Shift+F11.

    Step-Out button

  11. Selecione a guia Terminal.

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

  12. Pressione qualquer tecla para encerrar o programa.

Usar a configuração de build da Versão

Quando tiver testado a versão da depuração do seu aplicativo, você deverá compilar e testar a versão de lançamento. A versão de Lançamento incorpora otimizações do compilador que podem afetar o comportamento de um aplicativo. Por exemplo, as otimizações de compilador que são projetadas para melhorar o desempenho podem criar condições de corrida em aplicativos multi-threaded.

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

dotnet run --configuration Release

Recursos adicionais

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.