Noções Básicas de Depuração
8 exemplos para você começar a depurar backends Node.js - 6 básicos e 2 intermediários.
Busque em todas as páginas da documentação
8 exemplos para você começar a depurar backends Node.js - 6 básicos e 2 intermediários.
Node.js 24.18.0 instalado localmente. Navegador Chrome ou Edge para DevTools.
node --version # v24.18.0node --inspect src/main.ts
# Debugger listening on ws://127.0.0.1:9229chrome://inspect -> Configure -> adicione localhost:9229 -> inspect--inspect=9230 se estiver ocupada0.0.0.0 apenas em redes de desenvolvimento confiáveis: --inspect=0.0.0.0Relacionado: Caça a Vazamento de Memória - snapshots de heap no DevTools
node --inspect-brk src/main.ts--inspect-brk sem timeoutdebuggerexport function charge(amountCents: number) {
if (amountCents < 0) {
debugger; // a execução pausa quando o inspetor está anexado
throw new Error("invalid amount");
}
return { charged: amountCents };
}debugger antes de mesclar - ESLint no-debugger em CItsx quando o inspetor está habilitadoNODE_OPTIONS em Scripts npm{
"scripts": {
"dev:debug": "NODE_OPTIONS='--inspect' tsx watch src/main.ts"
}
}cross-env NODE_OPTIONS=--inspecttsx watch reinicia o processo - reanexe o DevTools após a recargalaunch.json do VS Code para um padrão da equipeimport { inspect } from "node:util";
console.log(inspect({ orderId: "ord_1", meta: { retry: 2 } }, { depth: 5, colors: true }));console.log para correlação segura em produção com requestIdutil.inspect imprime objetos aninhados legíveis no terminalRelacionado: Noções Básicas de Logging - logs estruturados em produção
function fail() {
throw new Error("payment provider timeout");
}
try {
fail();
} catch (err) {
console.error(err instanceof Error ? err.stack : err);
}Error.captureStackTrace personaliza a pilha em código de biblioteca// tsconfig.json
{
"compilerOptions": {
"sourceMap": true,
"inlineSources": true
}
}.ts, não .js transpiladotsc + node --inspect dist/main.js para depuração semelhante à produçãotsx lida com TS diretamente sem etapa de compilação separada# Encontrar PID
pgrep -fl "node dist/main"
# Anexar inspetor ao processo ativo (pausa breve)
kill -USR1 <pid>
# Então o Node registra: Debugger listening...SIGUSR1 habilita o inspetor em um Node em execução (se não foi iniciado com --inspect)Versões da Stack: Esta página foi escrita para Node.js 24.18.0 (Active LTS), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 e NestJS 11.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026