断点没反应主因是launch.json配置错误、node未进入VSCode环境变量或未启动调试会话;需确保type为"node"、request为"launch"/"attach"、program指向真实.js文件,并验证PATH、sourceMaps及调试状态栏是否显示“调试正在运行”。

断点点了没反应,90% 是 launch.json 配错了、node 没进 VSCode 环境变量,或者你根本没启动调试会话——不是装插件就能用,也不是点红点就停。
launch.json 必须写对这三项
VSCode 不会自动猜你要调试什么。必须显式声明调试器类型和行为模式:
-
type必须是"node"(别写"pwa-node",老项目或 CI 场景容易 fallback 失败) -
request只能是"launch"或"attach":"launch"用于直接跑入口文件(如node index.js),"attach"用于连已启动的进程(如node --inspect-brk app.js) -
program必须指向真实存在的可执行.js文件路径,不能是npm start或ts-node;推荐写成"${workspaceFolder}/src/server.js",避免硬编码
node 命令在终端能用,但调试器报错?PATH 没对齐
你在终端里能跑 node -v,不代表调试器能调用它——尤其 macOS/Linux 下 VSCode 常不继承 shell 的 PATH。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 在 VSCode 内置终端(
Ctrl + `)里执行node -v,失败说明环境没接上 - 运行
which node(macOS/Linux)或where node(Windows),拿到完整路径(如/opt/homebrew/bin/node) - 在项目根目录的
.vscode/settings.json中注入 PATH:{"terminal.integrated.env.osx": {"PATH":"/opt/homebrew/bin:${env:PATH}"}} - 改完必须彻底重启 VSCode,环境变量不会热更新
TypeScript 断点停在 .js 里?sourceMap 链路断了
VSCode 不读 tsconfig.json 里的 "sourceMap": true,必须在 launch.json 中双重确认映射可达。
- 确保编译生成了独立
.map文件:tsc --sourceMap或tsconfig.json中设"sourceMap": true,禁用"inlineSourceMap": true -
launch.json中加"sourceMaps": true和"outFiles"(如["./dist/**/*.js"]),告诉调试器去哪找产物 - 若
.ts文件不在根目录(如packages/foo/src),还需加"resolveSourceMapLocations"显式放行源码路径 - 不配
outFiles,VSCode 就不知道该把dist/index.js的哪一行映射回src/index.ts——断点只能停在 JS 上
启动调试会话前,务必检查这三件事
很多“断点无效”其实是操作流程卡在第一步:
- 没启动调试会话:点右上角绿色三角(
Run Code)或敲node index.js是普通执行,断点完全不触发;必须打开「运行和调试」侧边栏(Ctrl+Shift+D),选中配置 - 底部状态栏没出现「调试正在运行」字样,说明调试器根本没附着成功
- 调试控制台里搜
Loaded source map from,看到类似Loaded source map from 'file:///xxx/dist/index.js.map'且无 404,才算真正加载成功
最常被忽略的是:TypeScript 项目里打了断点却停在编译后的 JS 行号上,不是配置漏了,而是 outFiles 路径没覆盖到实际输出位置,或者 resolveSourceMapLocations 没放开多包结构下的源码路径。

















