Node.js 调试总是靠 console.log?这个内置 Skill 把断点、CDP、CPU 快照全打包了

写代码最怕什么?Bug 藏在深处,console.log 打了一屏还是找不到。

Node.js 开发者应该都熟悉 node --inspect 这个启动参数,但真正用好它的人不多——因为调试协议、CDP 接口、CPU/堆快照这些能力,分散在各种文档角落,真要用来解决实际问题,光搭环境就要折腾半天。

最近我发现了一个 OpenClaw 内置的 node-inspect-debugger Skill,专门解决这个痛点。它把 Node.js 调试的整套工具链打包成一套可复用的操作指引,从基础的断点设置到进阶的 Chrome DevTools Protocol 脚本化调试,全部覆盖。

这个 Skill 能做什么?

先说几个我实测下来最有价值的场景:

  • 断点调试不再靠猜:用 sb('file.js', 42) 直接在指定文件和行号设断点,或者用 sb('functionName') 按函数名设,再也不用手改代码塞 debugger;
  • 子进程调试:worker_threads 开了一堆子进程?用 NODE_OPTIONS=--inspect-brk 统一传播调试端口,每个子进程都能单独 attach
  • 远程调试生产进程:线上进程突然卡死?kill -SIGUSR1 <pid> 然后 node inspect -p <pid>,不需要重启服务
  • CPU 和内存分析:通过 CDP 协议抓 CPU profile 和堆快照,直接在 Chrome DevTools 里打开看热路径和内存泄漏

快速上手

安装这个 Skill 后,在 OpenClaw 对话里直接说”帮我调试这个 Node 进程”就行,不需要记那些拗口的命令行参数。它会引导你完成:确认目标进程 → 选择调试方式 → 设置断点 → 分析结果。

几个常用命令速记:

  • 断点进入:node inspect path/to/script.js
  • TypeScript 断在入口:node --inspect-brk --import tsx path/to/script.ts
  • 查看可调试目标:curl -s http://127.0.0.1:9229/json/list | jq
  • OpenClaw 测试调试:OPENCLAW_VITEST_MAX_WORKERS=1 node --inspect-brk scripts/run-vitest.mjs <file>

适合谁用?

如果你经常写 Node.js 服务端代码、踩过异步地狱的坑、或者维护着带 worker_threads 的多进程应用,这个 Skill 值得一试。它不替代 IDE 调试器,而是补足了命令行调试和自动化调试场景的能力盲区。

特别是做性能分析时,用 CDP 脚本抓一段 CPU profile 再用 Chrome DevTools 打开,比在代码里到处加 console.time() 优雅多了。

GitHub:https://github.com/openclaw/openclaw


GitHub: https://github.com/openclaw/openclaw

评论区

0 条评论

登录后可评论。

江望 2490 阅读