首页主机资讯Ubuntu JS日志中错误代码含义解析

Ubuntu JS日志中错误代码含义解析

时间2025-12-12 14:58:03发布访客分类主机资讯浏览548
导读:Ubuntu 环境下 JavaScript 日志错误代码含义与排查 一 常见 JavaScript 运行时错误类型与含义 SyntaxError:语法解析失败,代码写法不合法(如缺少括号、引号不匹配)。 TypeError:对不兼容类型执...

Ubuntu 环境下 JavaScript 日志错误代码含义与排查

一 常见 JavaScript 运行时错误类型与含义

  • SyntaxError:语法解析失败,代码写法不合法(如缺少括号、引号不匹配)。
  • TypeError:对不兼容类型执行操作(如把数字当函数调用、访问 undefined 的属性)。
  • ReferenceError:访问未声明或未定义的变量/属性。
  • RangeError:数值或参数超出允许范围(如数组长度为负、toFixed 参数非法)。
  • URIError:URI 编解码参数不合法(如 malformed URI)。
  • EvalError:与 eval 使用相关的错误(在现代环境已较少见)。
  • Error:通用错误基类,其他错误均继承自它。
    以上类型在 Ubuntu 上的 Node.js 或前端浏览器控制台日志中均常见,含义与触发场景基本一致。

二 Node.js 常见系统或网络错误码与处理

  • EADDRINUSE:端口被占用(如 :::3000:::443)。处理:lsof -i :端口 查进程 PID,kill -9 释放端口。
  • EADDRNOTAVAIL:绑定地址不可用(如 :::8080:::22)。处理:检查本机网卡与 IP 配置是否正确。
  • EACCES:权限不足(如绑定 443/80 需要 root 或 CAP_NET_BIND_SERVICE,或日志文件不可写)。处理:以合适权限运行或调整文件/目录权限。
  • ENOENT:路径不存在(模块未安装、文件缺失)。处理:npm install 或修正路径。
  • ETIMEDOUT:网络连接超时。处理:检查网络连通性、目标服务状态或适当增大超时。
  • ENOMEM / JavaScript heap out of memory:内存不足。处理:优化内存占用,或临时提升堆上限 node --max-old-space-size=4096 app.js。
  • UnhandledPromiseRejectionWarning:未处理的 Promise 拒绝。处理:为所有 Promise 加 .catch,或用 try/catch 包裹 async/await,并监听 process.on(‘unhandledRejection’)。
  • DeprecationWarning:使用了已弃用 API(如旧版 Buffer 构造)。处理:按官方建议改用安全替代(如 Buffer.alloc),并升级依赖/Node 版本。
  • MaxListenersExceededWarning:事件监听器可能泄漏。处理:避免重复添加监听器,必要时 emitter.setMaxListeners 或移除监听器。
    以上错误码在 UbuntuNode.js 服务日志中非常典型,需结合堆栈与系统状态综合判断。

三 快速定位与日志查看命令

  • 实时查看服务日志:
    • 原生/系统服务:journalctl -u your-node-service --no-pager --since “10 minutes ago”
    • 文件日志:tail -f logs/app.log
    • PM2 管理:pm2 logs your-app;按级别筛选:pm2 logs your-app --lines 50 | grep WARN
  • 定位端口占用:lsof -i :3000(或 :443),必要时 kill -9
  • 生产建议:使用结构化日志库(如 Winston/Bunyan/Pino),便于检索与聚合分析。

四 最小化排查示例

  • 端口冲突 EADDRINUSE:
    1. lsof -i :3000 找到占用进程 PID;2) kill -9 ;3) 重启服务。
  • 模块未找到 Error: Cannot find module ‘xxx’:
    1. 确认依赖已安装(npm install);2) 检查模块名与路径;3) 若是本地文件,确认相对/绝对路径正确。
  • 未处理的 Promise 拒绝:
    1. 给每个 Promise 加 .catch;2) 在 async 函数中使用 try/catch;3) 临时监听 process.on(‘unhandledRejection’) 记录并告警。
  • 内存不足 ENOMEM:
    1. 排查内存泄漏(大数据结构、缓存未清理);2) 临时提升堆上限:node --max-old-space-size=4096 app.js;3) 结合性能分析工具定位热点。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu JS日志中错误代码含义解析
本文地址: https://pptw.com/jishu/770547.html
如何优化Ubuntu JS日志记录级别 Ubuntu JS日志中哪些指标最重要

游客 回复需填写必要信息