inspect 使用方法 ,调试 node js

inspect 使用方法 ,调试 node js
最新回答
亡命天涯不如早点回家

2026-10-20 10:12:49

--inspect 是 Node.js 内置的调试工具,允许开发者通过 Chrome DevTools 对代码进行断点调试、性能分析等操作。以下是详细使用方法:

1. 启动调试模式基本命令node --inspect=端口号 文件名.js
  • 示例:node --inspect=24848 s_debug.js输出结果会显示调试地址(如 ws://127.0.0.1:24848/...),表示调试服务已启动。
关键参数
  • --inspect:默认端口 9229(可省略端口)。
  • --inspect-brk:在第一行代码暂停,适合调试启动逻辑。node --inspect-brk=24848 s_debug.js
2. 连接调试工具方法一:Chrome DevTools
  1. 访问调试地址在浏览器打开输出的 devtoolsFrontendUrl(如 devtools://devtools/bundled/js_app.html?...),或手动输入:

    chrome://inspect/#devices

    点击 Open dedicated DevTools for Node,或添加本地调试地址(127.0.0.1:端口号)。

  2. 调试界面

    Sources 面板:设置断点、单步执行。

    Console 面板:实时查看变量、执行代码。

    Memory/Profiler:分析性能或内存泄漏。

方法二:VS Code 集成调试
  1. 创建 .vscode/launch.json 配置:{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Attach to Node", "port": 24848 } ]}
  2. 启动调试:按 F5 或点击调试面板中的启动按钮。
3. 调试功能详解常用操作
  • 断点:在代码行号旁点击添加断点,支持条件断点。
  • 控制流:

    F8:继续执行到下一个断点。

    F10:单步跳过(不进入函数)。

    F11:单步进入函数内部。

  • 作用域查看:在 Scope 面板中实时监控变量值。
  • 调用栈:通过 Call Stack 追踪代码执行路径。
高级功能
  • 性能分析:使用 Profiler 标签记录 CPU 或内存使用情况。
  • 网络请求:通过 Network 面板监控 HTTP 请求(需配合 http 模块)。
  • Worker 调试:支持调试 worker_threads 或子进程。
4. 调试信息查询查看调试端点

访问以下地址获取调试会话的 JSON 描述:

http://127.0.0.1:
端口号/json
  • 关键字段:

    devtoolsFrontendUrl:直接打开 Chrome DevTools 的链接。

    webSocketDebuggerUrl:用于工具连接的 WebSocket 地址。

5. 常见问题端口冲突

若端口被占用,更换端口号或终止占用进程:

lsof -i :24848 # 查看占用进程kill -9 PID # 终止进程调试未生效
  • 确保代码中有可执行的逻辑(如 setTimeout 或异步操作)。
  • 使用 --inspect-brk 强制在首行暂停。
远程调试

添加 --inspect=0.0.0.0:端口号 允许远程连接(注意安全风险)。

总结
  • 启动调试:node --inspect-brk=端口 文件.js
  • 连接工具:Chrome DevTools 或 VS Code
  • 核心操作:断点、单步执行、作用域监控
  • 高级功能:性能分析、子进程调试

通过以上步骤,可以高效定位 Node.js 代码中的逻辑错误或性能瓶颈。