温馨提示×

怎样调试debian nodejs

小樊
37
2026-09-28 18:36:13
栏目: 编程语言

在 Debian 上调试 Node.js,常见方式可以按「问题类型」和「调试手段」来分。下面给你一个实用清单,从最基础到进阶。


一、先确认环境

node -v
npm -v
which node

如果是多版本(nvm / n / 系统包),先确认用的是哪个 Node:

ls -l $(which node)

Debian 上常见问题:

  • 系统自带 Node 太老(/usr/bin/node)
  • 自己装的 Node 没进 PATH

二、最常用:命令行调试

1️⃣ 打印日志(最快)

console.log('debug', { a, b });

生产环境建议用:

  • debug 模块
  • pino / winston

2️⃣ Node 自带调试器

node inspect app.js

或在代码中加:

debugger;

浏览器方式:

node --inspect app.js

然后打开:

chrome://inspect

三、VS Code 调试(推荐)

1️⃣ 启动配置 .vscode/launch.json

{
  "type": "node",
  "request": "launch",
  "name": "Debug Node",
  "program": "${workspaceFolder}/app.js"
}

如果是子进程 / cluster:

"autoAttachChildProcesses": true

四、常见 Debian 特有问题

1️⃣ 权限问题

EACCES: permission denied

✅ 正确做法:

sudo chown -R $USER:$USER /your/project

❌ 不要:

sudo npm install -g

2️⃣ 端口占用

lsof -i :3000

或

ss -ltnp | grep 3000

3️⃣ 找不到模块

MODULE_NOT_FOUND

检查:

npm ls
npm install

Debian 上注意:

  • NODE_PATH
  • npm ci 比 npm install 更稳

五、崩溃 / 内存问题

1️⃣ 查看崩溃原因

node app.js

或:

node --trace-warnings app.js

2️⃣ 内存泄漏

node --inspect --max-old-space-size=4096 app.js

生成 heap:

node --heapdump

六、Systemd 下调试(Debian 常见)

查看日志

journalctl -u your-node-service -f

service 示例

[Service]
ExecStart=/usr/bin/node /opt/app/app.js
Environment=NODE_ENV=production

七、调试技巧总结

✅ 小问题:console.log
✅ 逻辑问题:VS Code + breakpoint
✅ 异步问题:async_hooks
✅ 性能问题:profiler / heap
✅ 线上问题:日志 + systemd


如果你愿意,可以告诉我:

  • Debian 版本(11 / 12?)
  • Node 版本
  • 具体报错信息

我可以给你「针对你这个场景」的调试步骤。

0 踩