O que é um depurador?

Concluído

Durante seu percurso como um desenvolvedor, sempre há aquele momento em que você acaba se perguntando:

Por que meu código não está funcionando?

Fazer essa pergunta é algo normal na rotina de qualquer desenvolvedor. O segredo é se sentir confortável em encontrar e corrigir seus bugs usando o menor tempo e causando a menor frustração possível. Quando existe um bug em um programa, de modo geral cada um tem sua própria maneira de lidar com esse problema.

Provavelmente, você já tentou uma ou mais dessas abordagens de depuração:

  • Tentar executar o programa novamente porque ele deveria funcionar.
  • Explicar seu problema a um pato de borracha.
  • Ler o código novamente para descobrir qual é o problema.
  • Dê uma caminhada ao ar livre.
  • Enviar spam de algumas mensagens Console.WriteLine("here") em seu código.

Você pode obter vários níveis de sucesso com esses métodos. A abordagem que geralmente é considerada mais bem-sucedida é usar um depurador. Mas o que é exatamente um depurador?

Um depurador é uma ferramenta de software usada para observar e controlar o fluxo de execução do programa com uma abordagem analítica. A meta para a qual ele foi criado é ajudar a encontrar a causa raiz de um bug e ajudar você a solucioná-lo. Ele funciona hospedando seu programa em um processo de execução próprio ou sendo executado como um processo separado que é anexado ao seu programa em execução, como o .NET.

Os depuradores têm variantes diferentes. Alguns funcionam diretamente na linha de comando, enquanto outros são fornecidos com uma interface gráfica do usuário. Nesse módulo, vamos usar o depurador gráfico integrado do Visual Studio Code.

Por que usar um depurador

Se você não está executando seu código por meio de um depurador, isso significa que você provavelmente está adivinhando o que está acontecendo em seu programa. O principal benefício de usar um depurador é que você pode observar seu programa em execução. Siga a execução do programa uma linha de código por vez. Assim, você evita a possibilidade de tentar adivinhar incorretamente.

Cada depurador tem o próprio conjunto de recursos. Os dois mais importantes que vêm com quase todos eles são:

  • Como controlar a execução do seu programa: É possível pausar o programa e executá-lo passo a passo, o que permite que você veja qual código é executado e como ele afeta o estado do programa.
  • Como observar o estado do seu programa: Por exemplo, é possível observar o valor das variáveis e dos parâmetros de função a qualquer momento durante a execução do código.

O domínio do uso do depurador é uma habilidade importante para um desenvolvedor que frequentemente é ignorada. Isso torna a sua busca por bugs no código mais eficiente. Além disso, pode ajudar você a entender de modo rápido como um programa funciona.

Descobriremos isso na próxima unidade.