Início Rápido: depurar o ASP.NET Core com o depurador do Visual Studio

O depurador do Visual Studio oferece muitos recursos avançados para ajudar a depurar seus aplicativos. Este artigo fornece uma maneira rápida para aprender alguns dos recursos básicos.

Crie um novo projeto

  1. Abra o Visual Studio.

    Se a janela inicial não estiver aberta, escolha Arquivo>Janela Inicial.

  2. Na tela Iniciar, selecione Criar um novo projeto.

  3. Na janela Criar um novo projeto, insira ou digite aplicativo web na caixa de pesquisa. Em seguida, escolha C# na lista de Linguagem. Selecione o modelo Aplicativo Web do ASP.NET Core (Razor Pages) e siga as etapas para criar o projeto.

    Caso não veja o modelo de projeto Aplicativo Web do ASP.NET Core (Razor Pages), acesse Ferramentas>Obter Ferramentas e Recursos..., que abre o Instalador do Visual Studio. Escolha a carga de trabalho ASP.NET e desenvolvimento para a Web e, em seguida, selecione Modificar.

    O Visual Studio cria o projeto.

  4. No Gerenciador de Soluções, abra Privacy.cshtml (em Pages) e substitua o seguinte código:

    @{
     ViewData["Title"] = "Privacy Policy";
    }
    

    por este código:

    @{
     ViewData["Title"] = "Privacy Policy";
     <label>@PrivacyModel.PrivacyMessage</label>
    }
    
  5. No Gerenciador de Soluções, abra Privacy.cshtml.cs (em Pages/Privacy.cshtml) e substitua o código a seguir.

    public void OnGet()
    {
    }
    

    por este código:

    
    public static string? PrivacyMessage { get; set; }
    
    public void OnGet()
    {
       LinkedList<int> result = DoWork();
       PrivacyMessage = "Result of work: " + result.First.Value + ", " + result.First.Value;
    }
    
    private static LinkedList<int> DoWork()
    {
       LinkedList<int> c1 = new();
    
       c1.AddLast(10);
       c1.AddLast(20);
    
       LinkedList<int> c2 = new(c1);
    
       return c2;
    
    }
    

Definir um ponto de interrupção

Um ponto de interrupção é um marcador que indica quando o Visual Studio deve suspender o código em execução para que você possa examinar os valores das variáveis ou o comportamento de memória ou se um branch de código está sendo executado ou não. É o recurso mais básico na depuração.

  1. Para definir o ponto de interrupção, clique na medianiz à esquerda da função DoWork (ou selecione a linha de código e pressione F9).

    Set a breakpoint

    O ponto de interrupção é definido à esquerda da chave de abertura ({).

  2. Agora pressione F5 (ou escolha Depurar > Iniciar Depuração).

  3. Quando a página da Web for carregada, selecione o link Privacidade na parte superior da página da Web.

    O depurador pausa no local em que você define o ponto de interrupção. Uma seta amarela identifica a instrução em que o depurador e a execução do aplicativo são pausados. A linha com a chave de abertura ({) após a declaração de função DoWork ainda não foi executada.

    Hit a breakpoint

    Dica

    Se você tiver um ponto de interrupção em um loop ou recursão ou se tiver muitos pontos de interrupção que percorre com frequência, use um ponto de interrupção condicional para garantir que seu código seja suspenso APENAS quando condições específicas forem atendidas. Isso economiza tempo e pode também tornar mais fácil depurar problemas difíceis de reproduzir.

Há diferentes comandos para instruir o depurador a continuar. Mostramos um comando de navegação de código útil que está disponível começando pelo Visual Studio 2017.

Enquanto o código estiver em pausa no ponto de interrupção, passe o mouse sobre a instrução return c2 até que o botão verde Execute para clicarRun to Click aparece e pressione o botão Executar para clicar.

Run to click

O aplicativo continua a execução e é pausado na linha de código na qual você clicou no botão.

Comandos de teclado comuns usados para percorrer o código incluem F10 e F11. Para obter instruções mais detalhadas, confira Introdução ao depurador.

Inspecionar variáveis em uma datatip

  1. Na linha de código atual (indicada pelo ponteiro de execução amarelo), passe o mouse sobre o objeto c2 com o mouse para mostrar uma datatip.

    View a datatip

    A datatip mostra o valor atual da variável c2 e permite que você inspecione suas propriedades. Ao depurar, se você vir um valor que não espera, provavelmente haverá um bug nas linhas de código anteriores ou de chamada.

  2. Expanda a datatip para examinar os valores de propriedade atuais do objeto c2.

  3. Se você quiser fixar a dica de dados para poder continuar a ver o valor de c2 enquanto executa o código, selecione o ícone de pin pequeno. (É possível mover a datatip fixada para uma localização conveniente.)

Próximas etapas

Neste tutorial, você aprendeu como iniciar o depurador, percorrer o código e inspecionar variáveis. Pode ser interessante ter uma visão geral de alto nível dos recursos do depurador com links para mais informações.