Debugando uma aplicação Node.js

Giuliana Bezerra
Desenvolvimento com Node.js
4 min readMay 31, 2019

Debugar é tão importante quanto codificar. Muita vezes, é até uma tarefa mais demorada do que o próprio desenvolvimento. Se nenhuma ferramenta que facilite esse trabalho for utilizada, o processo de debug pode ser doloroso e traumatizante.

Muitos desenvolvedores Node.js debugam o seu código backend da seguinte forma:

console.log('Var 1:' + var1);
...
console.log('Aqui deu erro');
...
console.log('Entrou aqui!');

É muito comum encontrar no código de produção esses logs de teste, visto que o desenvolvedor adicionará inúmeros para tentar validar um comportamento ou identificar um erro.

Mas fique tranquilo, existe uma forma melhor! E para isso vamos utilizar a ferramenta de Debug do Visual Studio Code. Nesse post vamos configurar o Debug num projeto Node.js para inspecionar o retorno de um serviço REST.

💡 Você sabe de onde veio o termo bug e o que ele é? Veja esse artigo.

Pré requisitos

É importante que o leitor tenha experiência com o Node.js na construção de serviços. Também é necessário baixar esse projeto para utilizarmos no processo de debug.

Habilitando o debug

Abra o projeto no Visual Studio Code:

Veja que existe um menu lateral com um inseto (bug). Clique nele para configurar a depuração:

O Visual Studio Code precisa de uma arquivo de configuração para configurar o debug. Para isso, clique na engrenagem para “Configurar ou corrigir launch.json”:

É necessário informar o ambiente de debug. No nosso caso, vamos selecionar o Node.js:

Será criado um arquivo launch.json que configura os parâmetros de debug para o projeto. Vamos manter o arquivo com as opções mais básicas, que já foram geradas por padrão. Só precisamos corrigir o parâmetro program, pois o nosso programa é iniciado com o arquivo server.js:

Volte ao menu do debug e pressione o botão verde Iniciar Depuração:

Debugando o projeto

Com o debug executando, vamos utilizá-lo para inspecionar os dados retornados pelo serviço de criação de usuário. Para isso, abra o arquivo create.js e adicione um breakpoint passando o mouse ao lado dos números de linha do arquivo e clicando com o botão esquerdo para visualizar um marcador vermelho:

Agora só precisamos chamar o serviço para executar essa função. Vou utilizar aqui o curl no terminal, por questões de simplicidade:

$ curl -XPOST -H 'Content-Type: application/json' http://localhost:9999/api/usuario -d '{"nome":"Phoebe Buffay"}' -vNote: Unnecessary use of -X or --request, POST is already inferred.
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 9999 (#0)
> POST /api/usuario HTTP/1.1
> Host: localhost:9999
> User-Agent: curl/7.58.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 24
>
* upload completely sent off: 24 out of 24 bytes

O Visual Studio Code vai aparecer para você exatamente no breakpoint que você selecionou:

Se você passar o mouse em cima das variáveis, será possível inspecionar os seus valores atuais:

Você pode executar passo a passo o código utilizando as setas azuis de navegação no topo da tela:

Você também pode selecionar uma expressão e executá-la clicando com o botão direito do mouse, menu Depurar: Avaliar:

Conclusão

Esse post demonstrou de forma simples como configurar e utilizar a ferramenta de debug do Visual Studio Code para depurar programas Node.js no seu dia a dia.

É interessante que você explore as outras features dessa ferramenta até se sentir confortável com ela. Você vai perceber como o seu debug de projetos Node.js será mais eficiente.

Se você gosta do meu conteúdo, não deixe de conferir o meu canal do Youtube, onde falo sobre desenvolvimento de software. Espero te ver por lá! 😉

Referências

--

--

Giuliana Bezerra
Desenvolvimento com Node.js

Solution Architect — Online Instructor — Youtuber at @giulianabezerra — Writer