在 Ubuntu 上调试 Node.js 程序,常见且实用的方式主要有以下几种,从简单到专业依次介绍,你可以按场景选择。
console.log(不推荐长期使用)适合快速定位问题。
console.log('value:', value);
console.log('type:', typeof value);
✅ 优点:简单
❌ 缺点:效率低、不可交互
Node.js 自带调试功能,无需安装额外工具。
node inspect app.js
或(旧版本)
node --inspect app.js
推荐方式(支持断点):
node --inspect-brk app.js
Debugger listening on ws://127.0.0.1:9229/...
chrome://inspect
✅ 优点:图形化断点、变量查看
✅ 适合大多数调试场景
这是最常用、最方便的方式。
code your-project
生成示例:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/app.js"
}
]
}
F5 启动调试✅ 支持:
适合线上或后台服务。
node --inspect=9229 app.js
访问:
chrome://inspect
配置 localhost:9229
例如 package.json:
{
"scripts": {
"start": "node app.js"
}
}
调试方式:
node --inspect-brk node_modules/.bin/nodemon app.js
或在 VS Code 中:
{
"type": "node",
"request": "launch",
"name": "Debug npm start",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "start"],
"skipFiles": ["<node_internals>/**"]
}
与普通 Node.js 调试完全一致,只需:
node --inspect app.js
在浏览器访问接口即可命中断点。
右键断点 → 设置条件:
user.id === 1
async/awaitVS Code 左侧 Call Stack
kill -9 $(lsof -t -i:9229)
--inspect-brk| 场景 | 推荐方式 |
|---|---|
| 快速查看 | console.log |
| 本地开发 | VS Code 调试 ✅ |
| 线上问题 | –inspect + Chrome |
| 脚本调试 | launch.json |
如果你愿意,可以告诉我:
我可以给你更精确的调试配置。