温馨提示×

Linux下JS调试有哪些高效方法

小樊
40
2026-06-30 15:45:33
栏目: 编程语言

在 Linux 环境下调试 JavaScript,不同场景差别很大。下面按「运行环境」和「效率」给你一套实战型推荐方案,从前端到后端都有覆盖。


一、浏览器环境(前端 JS 调试,最常用)

✅ 1. Chrome / Edge DevTools(首选)

最直观、最高效

启动方式

google-chrome --remote-debugging-port=9222

然后访问:

chrome://inspect

主要功能

  • 断点调试(行断点 / 条件断点)
  • Watch / Scope / Call Stack
  • 实时修改代码(Ctrl+S 生效)
  • Network / Performance / Memory 分析

适合:

  • 前端调试
  • React / Vue / 原生 JS
  • 接口联调

✅ 2. Firefox DevTools(适合严格标准)

  • 对 ES 规范支持更好
  • about:debugging 调试扩展/Worker

二、Node.js 调试(Linux 下重点)

✅ 3. Node.js + Chrome DevTools(强烈推荐)

启动方式

node --inspect-brk app.js

然后打开:

chrome://inspect

或:

https://chrome-devtools-frontend.appspot.com/

特点

  • 图形化断点调试
  • 支持 async / Promise
  • 无需安装插件

比 console.log 强 10 倍


✅ 4. VS Code 调试(开发效率最高)

.vscode/launch.json

{
  "type": "node",
  "request": "launch",
  "name": "Debug Node",
  "program": "${workspaceFolder}/app.js"
}

优势

  • 断点 + 变量 + 调用栈
  • 与代码同步
  • 支持 Attach 到运行中的进程

服务器端 JS 调试首选


✅ 5. Node 内置调试器(轻量)

node inspect app.js

常用命令:

cont / c
next / n
step / s
watch('expr')
repl

适合:

  • 服务器无 GUI
  • SSH 远程调试

三、命令行 & 日志调试(辅助)

✅ 6. console 系列(不是 low,是必须)

console.log()
console.warn()
console.error()
console.table()
console.time() / timeEnd()

✅ 适合快速定位问题


✅ 7. debug 模块(工程化必备)

npm install debug
const debug = require('debug')('app:main');
debug('start server');
DEBUG=app:* node app.js

✅ 避免生产环境污染日志


四、特殊情况调试

✅ 8. 调试异步 / Promise / async

推荐方式:

  • DevTools 异步调用栈
  • await 放在明确位置
  • 使用 try/catch

避免:

Promise.then(x => console.log(x))

✅ 9. 调试内存泄漏

工具:

  • Chrome DevTools → Memory
  • node --inspect + Heap Snapshot
  • process.memoryUsage()

✅ 10. Linux 环境特有技巧

查看 Node 进程

ps aux | grep node

Attach 到已有进程

node --inspect -p PID

使用 nvm 切换版本

nvm ls
nvm use 18

五、推荐组合(按场景)

场景 推荐方案
前端 JS Chrome DevTools
Node 后端 VS Code 调试
服务器 CLI node --inspect
快速排查 console + debug
内存问题 Heap Snapshot

六、高效调试原则(很重要)

别用 console.log 定位复杂 bug
优先断点,而不是猜
优先图形化工具
异步问题一定要看调用栈


如果你愿意,可以告诉我:

  • 前端 / Node / Electron / 服务端渲染
  • 是否在 WSL / Docker / 远程服务器
  • 是否涉及 性能 / 内存 / 异步 bug

我可以直接给你一套针对性调试流程

0