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
评论区
0 条评论
登录后可评论。