温馨提示×

CentOS怎么调试Nodejs错误

小樊
52
2026-08-18 14:37:47
栏目: 编程语言

在 CentOS 上调试 Node.js 错误,可以按下面几个层次来做,从快速定位到深入分析。


一、先确认基础环境

1. 查看 Node.js 版本

node -v
npm -v

⚠️ 老项目建议用 LTS 版本,避免兼容问题。

2. 查看系统日志

journalctl -xe

或

dmesg | tail

用于排查 OOM、段错误、系统级崩溃。


二、常见 Node.js 错误调试方法

✅ 1. 启用详细错误输出

node app.js

如果崩溃,先看 完整错误栈。

✅ 2. 使用 --trace-warnings

node --trace-warnings app.js

适合调试 Promise 警告、弃用 API。


三、使用调试器(推荐)

✅ 方法一:node inspect(内置)

node inspect app.js

常用命令:

c  # 继续执行
n  # 下一行
s  # 进入函数
repl # 查看变量

✅ 方法二:Chrome DevTools(最常用)

node --inspect app.js

或监听断点:

node --inspect-brk app.js

然后在 Chrome 打开:

chrome://inspect

✅ 优点:

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

四、生产环境调试(CentOS 服务器)

✅ 1. 查看崩溃日志

pm2 logs

或

journalctl -u your-service-name

✅ 2. 使用 PM2(强烈推荐)

npm install -g pm2
pm2 start app.js
pm2 logs
pm2 restart app

查看错误:

pm2 logs --err

五、捕获未处理异常

✅ 1. 捕获异常

process.on('uncaughtException', (err) => {
  console.error('未捕获异常:', err);
});

process.on('unhandledRejection', (reason) => {
  console.error('未处理的 Promise:', reason);
});

六、内存 / CPU 问题调试

✅ 1. 查看内存占用

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

✅ 2. 生成 Heap Snapshot

node --inspect app.js

用 Chrome DevTools → Memory


七、结合 Linux 工具

✅ 1. 查看进程

ps aux | grep node

✅ 2. 查看端口占用

netstat -tunlp | grep 3000

✅ 3. 查看文件权限

ls -l

CentOS 常见坑:权限不足导致 EACCES 错误


八、常见错误速查表

错误 原因 解决
EADDRINUSE 端口被占用 kill -9 PID
EACCES 权限不足 chmod / sudo
MODULE_NOT_FOUND 模块缺失 npm install
段错误 原生模块 重装 / 换 Node 版本
内存溢出 内存不足 增大 --max-old-space-size

九、推荐调试流程(实战)

  1. 本地复现错误
  2. node --inspect-brk
  3. Chrome DevTools 打断点
  4. 加日志 / 捕获异常
  5. 上服务器用 PM2 + 日志

如果你愿意,可以把 具体报错信息 或 场景(启动失败 / 请求报错 / 崩溃) 发出来,我可以直接帮你定位 ✅

0 踩