温馨提示×

debian如何调试nodejs

小樊
41
2026-09-10 14:15:23
栏目: 编程语言

在 Debian 上调试 Node.js 有多种方式,取决于你是本地调试、远程调试、还是生产环境排查。下面按常见场景给你一个实用指南。


一、基础准备(Debian 上)

1. 安装 Node.js(推荐用 NodeSource)

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

检查:

node -v
npm -v

二、命令行调试(最简单)

1. 使用内置调试器

node inspect app.js

然后在浏览器打开:

chrome://inspect

或使用 CLI:

node inspect app.js
debug> help

三、VS Code 远程 / 本地调试(最常用)

1. 启动 Node(开启调试端口)

node --inspect=0.0.0.0:9229 app.js

2. VS Code launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "attach",
      "name": "Attach to Remote",
      "address": "服务器IP",
      "port": 9229,
      "localRoot": "${workspaceFolder}",
      "remoteRoot": "/path/to/project"
    }
  ]
}

⚠️ 生产环境不要暴露 9229 到公网


四、日志与运行时调试

1. 打印日志

console.log(process.pid)

2. 捕获未处理异常

process.on('uncaughtException', e => {
  console.error(e)
})

3. 使用 debug 模块

DEBUG=* node app.js

五、性能 / 内存调试

1. CPU Profiling

node --prof app.js
node --prof-process isolate-*.log > profile.txt

2. 内存泄漏

node --inspect app.js

Chrome → Memory → Heap Snapshot


六、Debian 系统级排查

1. 查看进程

ps aux | grep node

2. 查看端口

ss -tulnp | grep node

3. 使用 strace(系统调用)

sudo strace -p <pid>

4. 使用 lsof

lsof -p <pid>

七、PM2(生产推荐)

npm i -g pm2
pm2 start app.js --inspect
pm2 logs
pm2 monit

八、常见问题速查

问题 解决
端口被占用 lsof -i:9229
无法连接 防火墙 / 0.0.0.0
卡死 strace / heapdump
中文乱码 LANG=en_US.UTF-8

如果你能告诉我:

  • 是 本地还是服务器
  • 用 PM2 / Docker / 原生
  • 想调 逻辑 / 性能 / 崩溃

我可以给你更精确的调试方案。

0 踩