O que é um depurador?

Concluído

Durante sua jornada como desenvolvedor, há sempre aquele momento em que você acaba se perguntando "Por que meu código não está funcionando?"

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

Enquanto trabalha no aplicativo de varejo da Tailwind Traders, você provavelmente vai se deparar com essa situação algumas vezes. Quando há um bug no programa, geralmente cada pessoa tem a própria maneira de lidar com o problema.

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

  • Tentar executar o programa novamente porque ele deveria funcionar.
  • Explique o problema ao seu colega.
  • Ler o código novamente para descobrir qual é o problema.
  • Dê uma caminhada ao ar livre.
  • Adicione alguns console.log('here') em seu código.

Embora você possa ter graus de sucesso variados com esses métodos, há uma outra abordagem normalmente considerada mais bem-sucedida: o uso de 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 seu programa com uma abordagem analítica. A meta do design é ajudar a encontrar a causa raiz de um bug e ajudar você a solucioná-lo. O depurador funciona hospedando o seu programa em seu próprio processo de execução, ou executando-o como um processo separado anexado ao programa em execução, como Node.js.

Depuradores vêm em variedades diferentes. Alguns funcionam diretamente na linha de comando, enquanto outros são fornecidos com uma interface gráfica do usuário. Neste módulo, usaremos o depurador de linha de comando interno que vem com o Node.js e 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 recursos mais importantes que vêm com quase todos os depuradores são:

  • Controle da execução do 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.
  • Observação do estado do programa. Por exemplo, você pode examinar valores variáveis e parâmetros de função a qualquer momento durante a execução do código.

Dominar um depurador torna você mais eficiente na busca de bugs em seu código, ajudando você a entender rapidamente como um programa funciona.

Descobriremos isso na próxima seção.