Sublime Text 本身不支持原生断点调试,必须依赖 Chrome DevTools 等外部工具:通过配置 node --inspect-brk $file 启动进程,访问 chrome://inspect 连接调试,Sublime 仅作为编辑器,不参与调试会话管理。

Sublime Text 本身不支持原生断点调试,所谓“断点调试”必须依赖外部工具链,且现代 Node.js(v12+)已废弃 --debug 和 --debug-brk,改用 --inspect 协议 —— 这意味着你无法在 Sublime 界面里点一下就加断点,只能靠 Chrome DevTools 或 VS Code 远程连接。
为什么直接配置 Build System 无法实现断点
很多人误以为只要把 node --inspect-brk $file 写进 .sublime-build 文件,就能像 IDE 那样单步调试。事实是:Sublime 的构建系统只负责启动进程并捕获 stdout/stderr,它不监听 WebSocket、不解析 V8 Inspector 协议、也不渲染调用栈 —— 所以即使进程挂起在 --inspect-brk,你也只能看到控制台输出一行类似 Debugger listening on ws://127.0.0.1:9229/...,然后就卡住,没法继续。
-
--inspect-brk会让 Node 进程启动即暂停,等待调试器连接;但 Sublime 不是调试器 - Build System 没有调试会话生命周期管理能力,无法 attach/detach/step over
- 插件如
SublimeREPL或老版Nodejs插件,底层仍是调用node命令行,不提供 UI 控制面板
真正可行的断点调试路径:Chrome DevTools + --inspect
这是目前最轻量、兼容性最好、且无需额外 IDE 的方案。关键不是让 Sublime 做调试器,而是让它成为编辑器,把调试交给 Chrome。
- 确保 Node.js 版本 ≥ v12(
node -v查看),旧版本不支持--inspect - 在终端运行:
node --inspect-brk your-app.js(--inspect-brk比--inspect更可靠,强制首行暂停) - 打开 Chrome,访问
chrome://inspect→ 点击 “Open dedicated DevTools for Node” - 或直接访问
about:inspect(新版 Chrome 已合并入口) - 确认目标页显示你的脚本,点击 “inspect” 即可设置断点、查看变量、单步执行
注意:--inspect-brk 启动后,Sublime 里按 Ctrl+B 是无效的 —— 你得切到终端手动启停,否则 Chrome 会连不上(端口被占或进程已退出)。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
Sublime 中如何避免每次手动敲命令
可以配置一个“快捷启动调试”的 Build System,但它只做一件事:在终端里拉起 node --inspect-brk,不接管调试流程。
- 新建
NodeJS-Inspect.sublime-build,内容如下(路径必须替换成你本地的node绝对路径):
{
"cmd": ["/usr/local/bin/node", "--inspect-brk", "$file"],
"shell": true,
"working_dir": "$file_path",
"encoding": "utf-8"
}
-
"shell": true是必须的,否则--inspect-brk参数会被忽略 - Windows 用户需把
/usr/local/bin/node替换为where node返回的真实路径,例如C:\Program Files\nodejs\node.exe - 保存后,在 Sublime 中选择该构建系统,再按
Ctrl+B,就会在默认终端(非 Sublime 控制台)中启动调试进程 - 这个构建系统不会输出日志到 Sublime 窗口,而是依赖你切换到终端观察是否成功监听
容易被忽略的三个实际坑
很多教程没提,但线上踩过才知道:
- Chrome 的
chrome://inspect页面默认不显示本地 Node 进程 —— 需点击右上角 “Configure…”,添加127.0.0.1:9229(或你指定的端口,如--inspect=0.0.0.0:9230) - 如果项目用了
cluster或子进程(如child_process.fork),主进程断点有效,子进程默认不启用 inspect —— 要显式传参:fork('./worker.js', [], { execArgv: ['--inspect'] }) - Sublime 编辑保存后,Node 进程不会自动重启 —— 你得手动
Ctrl+C终止旧进程,再重新Ctrl+B,没有热重载
真正的断点调试体验,终究绕不开 Chrome DevTools 的界面和交互逻辑。Sublime 只能帮你更快地把代码送到那个界面面前,而不是替代它。

















