Tutorial: Depurar um aplicativo de console .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.

Pré-requisitos

Usar a configuração de compilação de depuração

Depurar e Liberar são . Configurações de compilação incorporadas da NET. Use a configuração de compilação de depuração para depuração e a configuração de versão para a distribuição de versão final.

Na configuração Debug, um programa é compilado com informações de depuração simbólicas completas 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 lançamento de um programa não tem informações de depuração simbólicas 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, você não precisa alterá-la antes de depurar.

  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 que a linha com o ponto de interrupção seja 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 está à esquerda dos números de linha. Outras maneiras de definir um ponto de interrupção são pressionando F9 ou escolhendo Executar>ponto de interrupção de alternância no menu enquanto a linha de código está selecionada.

    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 Console.ReadLine método. O Console de Depuração não aceita entrada de terminal para um programa em execução. Para manipular a entrada do terminal durante a depuração, você pode usar o terminal integrado (uma das janelas do Visual Studio Code) ou um terminal externo. Para este 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 console configuração de internalConsole para integratedTerminal:

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

Iniciar depuração

  1. Abra a visualização Depurar selecionando o ícone 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). Outras maneiras de iniciar o programa no modo de depuração sã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. Insira uma cadeia de caracteres na janela Terminal em resposta ao prompt para um nome e pressione Enter.

    A execução do programa para 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.

    Breakpoint hit, showing Locals

Usar o Console de Depuração

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

  1. Selecione a guia Debug Console .

  2. Entre name = "Gracie" no prompt na parte inferior da janela Debug Console e pressione a tecla Enter .

    Change variable values

  3. Entre currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() na parte inferior da janela Debug Console e pressione a tecla Enter .

    A janela Variáveis exibe os novos valores das name variáveis 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 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 digita. O que acontece se o usuário não inserir nada? Você pode testar isso com um recurso de depuração útil chamado ponto de interrupção condicional.

  1. Clique com o botão direito do mouse (clique com a tecla Ctrl pressionada 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.

    Breakpoint context menu

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

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    Cada vez que o ponto de interrupção é atingido, o depurador chama o String.IsNullOrEmpty(name) método e ele quebra nessa linha somente se a chamada do método retornar true.

    Em vez de uma expressão condicional, você pode especificar uma contagem de acertos, 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. No separador Terminal, prima a tecla Enter quando lhe for pedido para introduzir o seu nome.

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

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

  5. Confirme se o valor é uma cadeia de caracteres vazia inserindo a seguinte instrução no prompt Debug Console 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 parar a depuração.

  8. Limpe o ponto de interrupção clicando no ponto na margem esquerda da janela de código. Outras maneiras de limpar um ponto de interrupção são pressionando F9 ou escolhendo Executar > ponto de interrupção de alternância no menu enquanto a linha de código está selecionada.

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

Passo através de um programa

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

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

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

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

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

  3. Selecione Run>Step Into ou pressione F11.

    Step-Into button

    O Visual Studio Code destaca a próxima linha.

  4. Selecione Run>Step Into ou pressione F11.

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

  5. Selecione Run>Step Into ou pressione F11.

    O Visual Studio destaca a atribuição de name variáveis. 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 Terminal pode não exibir a cadeia de caracteres que você insere enquanto a digita, mas o Console.ReadLine método capturará sua entrada.

  7. Selecione Run>Step Into ou pressione F11.

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

  8. Selecione Run>Step Into ou pressione F11.

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

  9. Selecione Run>Step Into ou pressione F11.

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

  10. Selecione Run>Step out 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 sair do programa.

Usar a configuração de compilação Release

Depois de testar a versão de depuração do seu aplicativo, você também deve compilar e testar a versão de lançamento. A versão Release incorpora otimizações do compilador que podem afetar o comportamento de um aplicativo. Por exemplo, otimizações de compilador projetadas para melhorar o desempenho podem criar condições de corrida em aplicativos multithreaded.

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

dotnet run --configuration Release

Recursos adicionais

Próximos passos

Neste tutorial, você usou as ferramentas de depuração de código do Visual Studio. No próximo tutorial, você publica 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 de compilação de depuração

Depurar e Liberar são . Configurações de compilação incorporadas da NET. Use a configuração de compilação de depuração para depuração e a configuração de versão para a distribuição de versão final.

Na configuração Debug, um programa é compilado com informações de depuração simbólicas completas 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 lançamento de um programa não tem informações de depuração simbólicas 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, você não precisa alterá-la antes de depurar.

  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 que a linha com o ponto de interrupção seja 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 está à esquerda dos números de linha. Outras maneiras de definir um ponto de interrupção são pressionando F9 ou escolhendo Executar>ponto de interrupção de alternância no menu enquanto a linha de código está selecionada.

    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 Console.ReadLine método. O Console de Depuração não aceita entrada de terminal para um programa em execução. Para manipular a entrada do terminal durante a depuração, você pode usar o terminal integrado (uma das janelas do Visual Studio Code) ou um terminal externo. Para este 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 console configuração de internalConsole para integratedTerminal:

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

Iniciar depuração

  1. Abra a visualização Depurar selecionando o ícone 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). Outras maneiras de iniciar o programa no modo de depuração sã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. Insira uma cadeia de caracteres na janela Terminal em resposta ao prompt para um nome e pressione Enter.

    A execução do programa para 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.

    Breakpoint hit, showing Locals

Usar o Console de Depuração

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

  1. Selecione a guia Debug Console .

  2. Entre name = "Gracie" no prompt na parte inferior da janela Debug Console e pressione a tecla Enter .

    Change variable values

  3. Entre currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() na parte inferior da janela Debug Console e pressione a tecla Enter .

    A janela Variáveis exibe os novos valores das name variáveis 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 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 digita. O que acontece se o usuário não inserir nada? Você pode testar isso com um recurso de depuração útil chamado ponto de interrupção condicional.

  1. Clique com o botão direito do mouse (clique com a tecla Ctrl pressionada 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.

    Breakpoint context menu

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

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    Cada vez que o ponto de interrupção é atingido, o depurador chama o String.IsNullOrEmpty(name) método e ele quebra nessa linha somente se a chamada do método retornar true.

    Em vez de uma expressão condicional, você pode especificar uma contagem de acertos, 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. No separador Terminal, prima a tecla Enter quando lhe for pedido para introduzir o seu nome.

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

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

  5. Confirme se o valor é uma cadeia de caracteres vazia inserindo a seguinte instrução no prompt Debug Console 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 parar a depuração.

  8. Limpe o ponto de interrupção clicando no ponto na margem esquerda da janela de código. Outras maneiras de limpar um ponto de interrupção são pressionando F9 ou escolhendo Executar > ponto de interrupção de alternância no menu enquanto a linha de código está selecionada.

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

Passo através de um programa

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

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

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

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

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

  3. Selecione Run>Step Into ou pressione F11.

    Step-Into button

    O Visual Studio Code destaca a próxima linha.

  4. Selecione Run>Step Into ou pressione F11.

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

  5. Selecione Run>Step Into ou pressione F11.

    O Visual Studio destaca a atribuição de name variáveis. 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 Terminal pode não exibir a cadeia de caracteres que você insere enquanto a digita, mas o Console.ReadLine método capturará sua entrada.

  7. Selecione Run>Step Into ou pressione F11.

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

  8. Selecione Run>Step Into ou pressione F11.

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

  9. Selecione Run>Step Into ou pressione F11.

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

  10. Selecione Run>Step out 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 sair do programa.

Usar a configuração de compilação Release

Depois de testar a versão de depuração do seu aplicativo, você também deve compilar e testar a versão de lançamento. A versão Release incorpora otimizações do compilador que podem afetar o comportamento de um aplicativo. Por exemplo, otimizações de compilador projetadas para melhorar o desempenho podem criar condições de corrida em aplicativos multithreaded.

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

dotnet run --configuration Release

Recursos adicionais

Próximos passos

Neste tutorial, você usou as ferramentas de depuração de código do Visual Studio. No próximo tutorial, você publica 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 de compilação de depuração

Depurar e Liberar são . Configurações de compilação incorporadas da NET. Use a configuração de compilação de depuração para depuração e a configuração de versão para a distribuição de versão final.

Na configuração Debug, um programa é compilado com informações de depuração simbólicas completas 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 lançamento de um programa não tem informações de depuração simbólicas 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, você não precisa alterá-la antes de depurar.

  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 que a linha com o ponto de interrupção seja 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 está à esquerda dos números de linha. Outras maneiras de definir um ponto de interrupção são pressionando F9 ou escolhendo Executar>ponto de interrupção de alternância no menu enquanto a linha de código está selecionada.

    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 Console.ReadLine método. O Console de Depuração não aceita entrada de terminal para um programa em execução. Para manipular a entrada do terminal durante a depuração, você pode usar o terminal integrado (uma das janelas do Visual Studio Code) ou um terminal externo. Para este tutorial, você usa o terminal integrado.

  1. Abra .vscode/launch.json.

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

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

Iniciar depuração

  1. Abra a visualização Depurar selecionando o ícone 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). Outras maneiras de iniciar o programa no modo de depuração sã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. Insira uma cadeia de caracteres na janela Terminal em resposta ao prompt para um nome e pressione Enter.

    A execução do programa para 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.

    Breakpoint hit, showing Locals

Usar o Console de Depuração

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

  1. Selecione a guia Debug Console .

  2. Entre name = "Gracie" no prompt na parte inferior da janela Debug Console e pressione a tecla Enter .

    Change variable values

  3. Entre currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() na parte inferior da janela Debug Console e pressione a tecla Enter .

    A janela Variáveis exibe os novos valores das name variáveis 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 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 digita. O que acontece se o usuário não inserir nada? Você pode testar isso com um recurso de depuração útil chamado ponto de interrupção condicional.

  1. Clique com o botão direito do mouse (clique com a tecla Ctrl pressionada 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.

    Breakpoint context menu

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

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    Cada vez que o ponto de interrupção é atingido, o depurador chama o String.IsNullOrEmpty(name) método e ele quebra nessa linha somente se a chamada do método retornar true.

    Em vez de uma expressão condicional, você pode especificar uma contagem de acertos, 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. No separador Terminal, prima a tecla Enter quando lhe for pedido para introduzir o seu nome.

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

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

  5. Confirme se o valor é uma cadeia de caracteres vazia inserindo a seguinte instrução no prompt Debug Console 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 parar a depuração.

  8. Limpe o ponto de interrupção clicando no ponto na margem esquerda da janela de código. Outras maneiras de limpar um ponto de interrupção são pressionando F9 ou escolhendo Executar > ponto de interrupção de alternância no menu enquanto a linha de código está selecionada.

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

Passo através de um programa

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

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

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

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

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

  3. Selecione Run>Step Into ou pressione F11.

    Step-Into button

    O Visual Studio Code destaca a próxima linha.

  4. Selecione Run>Step Into ou pressione F11.

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

  5. Selecione Run>Step Into ou pressione F11.

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

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

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

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

  7. Selecione Run>Step Into ou pressione F11.

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

  8. Selecione Run>Step Into ou pressione F11.

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

  9. Selecione Run>Step Into ou pressione F11.

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

  10. Selecione Run>Step out 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 sair do programa.

Usar a configuração de compilação Release

Depois de testar a versão de depuração do seu aplicativo, você também deve compilar e testar a versão de lançamento. A versão Release incorpora otimizações do compilador que podem afetar o comportamento de um aplicativo. Por exemplo, otimizações de compilador projetadas para melhorar o desempenho podem criar condições de corrida em aplicativos multithreaded.

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

dotnet run --configuration Release

Recursos adicionais

Próximos passos

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