Seu carrinho está vazio no momento!

Introdução (3 min)
Imagine um detetive investigando um crime. Ele precisa entender cada passo do criminoso para solucionar o caso. Debug (depuração) é como ser o detetive do seu código. É vital para o desenvolvimento de APIs modernas, permitindo que você encontre e corrija erros (bugs) de forma eficiente.
Nesta aula, vamos implementar duas poderosas ferramentas de debug em Node.js: o node --inspect e o debugger do VSCode. Essas ferramentas são essenciais no ecossistema Node.js/Express para garantir a qualidade e a estabilidade das suas aplicações.
Conceito Fundamental (7 min)
Debug é o processo de identificar e remover erros em um programa. Envolve executar o código passo a passo, inspecionar variáveis e entender o fluxo de execução. Na indústria, o termo “debugger” refere-se à ferramenta que auxilia nesse processo.
Casos de uso em produção incluem a resolução de problemas em tempo real, otimização de performance e análise de comportamento do código. Debug se integra com outras tecnologias como logging e monitoramento, fornecendo uma visão completa do funcionamento da aplicação.
Vantagens do debug incluem: localização precisa de erros, economia de tempo no desenvolvimento, e melhor compreensão do código. A principal desvantagem é que pode ser um processo demorado em sistemas complexos.
Implementação Prática (10 min)
Vamos criar um servidor Express simples com um erro proposital para demonstrar o debug.
// server.js
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
let mensagem = 'Olá, mundo!';
// Erro proposital: tentando acessar uma propriedade inexistente
console.log(mensagem.invalida);
res.send(mensagem);
});
app.listen(port, () => {
console.log(Servidor rodando em http://localhost:${port});
});
Para iniciar o servidor em modo debug, use o comando node --inspect server.js no terminal. Isso habilitará o protocolo de depuração. Em seguida, no VSCode, vá em “Executar” > “Iniciar Depuração” e selecione a configuração “Node.js”. O VSCode se conectará ao processo e você poderá adicionar breakpoints clicando ao lado do número da linha.
Alternativamente, você pode usar o debugger; diretamente no código. O depurador irá parar a execução neste ponto.
app.get('/', (req, res) => {
let mensagem = 'Olá, mundo!';
debugger; // breakpoint aqui
console.log(mensagem.invalida);
res.send(mensagem);
});
Com o debugger ativo, você pode inspecionar variáveis, avançar passo a passo, entrar em funções, e muito mais. Explore a interface do VSCode para descobrir todas as funcionalidades.
Para HostGator Plano M, as configurações são as mesmas. Assegure-se de ter o Node.js e o npm instalados corretamente. Adicione tratamento de erros robusto com try...catch para evitar crashes inesperados.
Exercício Hands-On (5 min)
Crie uma rota /soma que recebe dois parâmetros na query string (num1 e num2) e retorna a soma. Implemente o debug para verificar se os valores estão sendo recebidos e processados corretamente. Intencionalmente, introduza um erro de tipo (por exemplo, some uma string com um número) e utilize o debugger para identificar e corrigir o problema.
Solução:
app.get('/soma', (req, res) => {
try {
const num1 = parseFloat(req.query.num1);
const num2 = parseFloat(req.query.num2);
debugger; // breakpoint aqui
const soma = num1 + num2;
res.send(A soma é: ${soma});
} catch (error) {
console.error('Erro ao calcular a soma:', error);
res.status(500).send('Erro interno do servidor');
}
});
Teste acessando a rota /soma?num1=5&num2=10 no navegador. Utilize o debugger para acompanhar o processo e identificar o erro se você inserir valores inválidos.
Próximos passos: explore recursos avançados do debugger do VSCode, como conditional breakpoints e watch expressions. Aprenda a utilizar ferramentas de logging para complementar o debug e monitorar a sua aplicação em produção.
🚀 Pronto para a próxima aula?
Continue sua jornada no desenvolvimento de APIs e domine Node.js & Express!