商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > ubuntu下如何调试js代码

ubuntu下如何调试js代码

  发布于2026-07-06 阅读(0)

扫一扫,手机访问

在 Ubuntu 环境下调试 Ja vaScript,其实方法比想象中要丰富,关键看你是在后端、浏览器,还是日志层面解决问题。这次我们一次性把常用的调试手段过一遍。

ubuntu下如何调试js代码

一、Node.js 后端调试

开发后端应用,最核心的工具就是 Node.js 自带的调试协议。配合 Chrome DevTools 或 VS Code,完全可以像调试前端一样,断点、单步、观察表达式,一个都不少。具体怎么操作?

快速上手步骤

1. 启动调试会话

  • 普通启动:node --inspect app.js
  • 首行暂停:node --inspect-brk app.js(如果想让程序一启动就停在入口,用这个参数更直接)

2. 用 Chrome DevTools 查看

  • 打开 chrome://inspect,在 Remote Target 下找到你的 Node 进程,点击 inspect 即可进入 DevTools。
  • 如果想直接在源码上打断点,可以把项目目录添加为 Workspace——这样 DevTools 就能理解你的文件结构了。

另外,直接在代码里写一句 debugger;,运行到那里就会自动中断,非常方便。

3. 用 VS Code

  • 在“运行与调试”面板创建 launch.json,选 Node.js 环境。一个简单的配置示例:
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "program": "${workspaceFolder}/app.js"
    },
    {
      "type": "node",
      "request": "attach",
      "name": "Attach to Process",
      "port": 9229
    }
  ]
}

一些实用补充

  • 调试已运行的进程:先用 node --inspect 启动,然后在 VS Code 选择 Attach to Process,连接到 9229 端口即可。
  • 无界面环境:可以用 Headless Chrome 远程调试。比如启动 google-chrome --headless --remote-debugging-port=9222,然后访问 http://127.0.0.1:9222,就能看到可以检查的页面列表了。

二、前端浏览器调试

浏览器调试是最直观的。在本机或服务器上直接用 Chrome/Chromium,按下 F12 或右键“检查”,就能打开 DevTools。操作其实就三板斧:在 Console 里看报错,在 Sources 里设断点,在 Network 里检查请求和响应。

那如果是无界面服务器或远程环境呢?启动 Headless Chrome 并开启远程调试端口(比如 9222),在本地 DevTools 中通过 http://127.0.0.1:9222 来检查页面。另一种思路是用 Qt WebEngine 集成调试接口。

三、日志与系统层面的辅助排查

很多时候,真正的问题并不在代码逻辑里,而是在运行环境上。这时候日志和系统信息就派上用场了。

  • 应用日志:除了常见的 console.logconsole.error,还可以用 winstonpino 等日志库输出结构化日志。实时查看日志可以用 tail -f /path/to.log
  • 系统与服务日志:如果 Node.js 作为服务运行,用 journalctl -u your-service-name -f 跟踪服务日志。同时检查 /var/log/ 或应用目录下的日志文件。
  • 运行环境:用 tophtop 看 CPU/内存,用 df -hdu -sh 检查磁盘空间,再确认依赖与环境变量是否正确配置。

四、常见问题与快速排查

实际调试中总会碰到一些“卡住”的情况,这里列几个最常见的:

  • 看不到 Node 进程:确认是以 --inspect 启动,且端口 9229 未被占用。必要时用 --inspect-brk 确保首行即暂停。
  • 断点不生效:在 VS Code 里确认项目根目录已添加为 Workspace,且 Sources 面板中的文件与磁盘文件建立了映射关系。
  • 远程/容器场景:确保调试端口(如 9229)已开放并正确映射。Headless 场景下使用 --remote-debugging-port=9222,并在 http://127.0.0.1:9222 检查页面。
  • 无界面服务器:优先使用 Headless Chrome 远程调试。如果是持续集成,建议结合日志采集与错误追踪系统(比如 Sentry),完善可观测性。
本文转载于:https://www.yisu.com/ask/45109272.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注