温馨提示×

怎样调试Ubuntu Nodejs

小樊
40
2026-07-23 13:12:45
栏目: 编程语言

在 Ubuntu 上调试 Node.js,常见方式包括命令行调试、IDE 调试(VS Code)、日志调试、性能调试等。下面按使用场景给你一个完整、实用的调试指南。


一、确认 Node.js 环境

node -v
npm -v

如果没有安装:

sudo apt update
sudo apt install nodejs npm

建议使用 NodeSource 安装新版本:

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

二、最基础的调试方式(日志)

1️⃣ console.log(最常用)

console.log('data:', data);
console.error('error:', err);

✅ 优点:简单
❌ 缺点:不直观、不适合复杂问题


三、使用 Node.js 内置调试器(命令行)

1️⃣ 启动调试模式

node inspect app.js

或旧版本:

node --inspect app.js

默认监听:

ws://127.0.0.1:9229

2️⃣ 在代码中打断点

debugger;

示例:

function test() {
  debugger;
  console.log('hello');
}
test();

运行:

node inspect app.js

常用命令:

命令 作用
c 继续执行
n 下一行
s 进入函数
o 跳出函数
repl 查看变量
quit 退出

四、使用 Chrome 浏览器调试(推荐 ✅)

1️⃣ 启动 Node.js

node --inspect-brk app.js

--inspect-brk 会在第一行暂停


2️⃣ 打开 Chrome

地址栏输入:

chrome://inspect

点击:

Open dedicated DevTools for Node.js

✅ 功能:

  • 断点
  • 变量查看
  • 调用栈
  • 异步调试

五、VS Code 调试(最推荐 ✅✅✅)

1️⃣ 创建调试配置

.vscode/launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Debug Node",
      "program": "${workspaceFolder}/app.js"
    }
  ]
}

2️⃣ 使用方式

  • 点左侧 Run and Debug
  • 设置断点
  • F5 启动调试

✅ 支持:

  • 热重载(配合 nodemon)
  • 异步调试
  • 环境变量

3️⃣ 调试 npm 项目

{
  "type": "node",
  "request": "launch",
  "name": "Debug npm start",
  "runtimeExecutable": "npm",
  "runtimeArgs": ["start"],
  "skipFiles": ["<node_internals>/**"]
}

六、调试 Express / Koa / Nest 项目

Express 示例

node --inspect-brk ./bin/www

VS Code 配置:

"program": "${workspaceFolder}/app.js"

七、调试崩溃 / 异常问题

1️⃣ 查看错误堆栈

node app.js 2>&1 | tee error.log

2️⃣ 捕获未处理异常

process.on('uncaughtException', err => {
  console.error('Uncaught Exception:', err);
});

process.on('unhandledRejection', err => {
  console.error('Unhandled Rejection:', err);
});

八、性能调试(高级)

1️⃣ CPU Profiling

node --prof app.js

生成:

node --prof-process isolate-*.log > result.txt

2️⃣ 内存分析

node --inspect app.js

使用 Chrome DevTools → Memory


九、常用调试工具总结

工具 场景
console.log 快速定位
node inspect 命令行调试
Chrome DevTools 可视化调试
VS Code 日常开发
clinic.js 性能分析
ndb 高级调试

十、如果你愿意,我可以帮你:

  • ✅ 调试 具体报错信息
  • ✅ 配置 VS Code + nodemon
  • ✅ 调试 Express / NestJS
  • ✅ 排查 内存泄漏 / CPU 高

你可以直接贴:

  • 报错信息
  • 项目结构
  • 使用的框架

我可以一步步带你调 ✅

0