插件更新后断点变空心,主因是新版JS Debug(v2026.7+)默认禁用部分source map路径,需显式配置resolveSourceMapLocations并清除缓存。

插件更新后断点变空心、不命中,大概率不是代码或逻辑问题,而是调试器与 source map 的映射链被新版本行为打破——尤其发生在 Debugger for Edge / JS Debug / Cortex-Debug 等核心插件更新后。
检查 launch.json 中 sourceMaps 和 resolveSourceMapLocations 是否显式启用
新版 JS Debug(v2026.7+)默认禁用某些 source map 加载路径,即使 sourceMaps: true 开启,若未配 resolveSourceMapLocations,调试器会跳过 dist 目录外的映射文件。
-
sourceMaps必须设为true(TypeScript/前端项目中常被漏掉) -
resolveSourceMapLocations建议显式声明,例如:["${workspaceFolder}/dist/**", "${workspaceFolder}/build/**"] - 旧版常用
outFiles,但新版更依赖resolveSourceMapLocations控制白名单范围 - 若用 Vite,
vite build --sourcemap生成的是.js.map,但路径可能含webpack://或vite://协议,需同步检查sourceMapPathOverrides
确认浏览器是否仍以 --remote-debugging-port 启动(Edge/Chrome 调试场景)
Debugger for Edge 插件 v1.8.0+ 强制要求远程调试协议一致性:它不再兼容普通桌面快捷方式启动的 Edge,也不再容忍端口被复用。
- 必须手动命令行启动:
msedge --remote-debugging-port=9222 --user-data-dir=/tmp/edge-debug(Windows/macOS/Linux 均需加--user-data-dir避免配置冲突) - Microsoft Store 版 Edge 仍不支持
--remote-debugging-port,必须卸载并安装官网稳定版 - launch.json 中
request: "attach"模式下,port必须与启动参数完全一致,且不能有其他进程占用该端口 - 若之前能连上、更新后连不上,先在终端执行
lsof -i :9222(macOS/Linux)或netstat -ano | findstr :9222(Windows)查残留进程
清除 JS Debug 插件缓存(最常被忽略的一步)
新版 JS Debug 会在 ~/.vscode/extensions/ms-vscode.js-debug/ 下缓存 sourcemap 解析结果,且不会自动失效。哪怕你改了构建输出路径、重装了依赖,它仍可能拿着旧映射跑。
- 关掉 VS Code
- 删除整个
ms-vscode.js-debug文件夹(不要只删子目录) - 重启 VS Code,首次调试时会重新下载并初始化调试适配器
- 如需验证是否生效,可在 launch.json 中临时加
"trace": true,然后看 Output → Debug Adapter 面板里是否有Resolved sourcemap for ...日志
Keil/Cortex-M 项目需重验 server-side breakpoints 设置
Cortex-Debug 插件 v2.10.0+ 默认关闭 useServerSideBreakpoints,而 Keil ULINK/ST-Link 调试器依赖服务端断点机制,关掉就必然灰点。
- launch.json 中必须显式添加:
"useServerSideBreakpoints": true - 同时确认
"servertype"与实际硬件匹配:"keil"(Keil 自带)、"openocd"、"jlink"不可混用 - Keil 工程中仍需开启
--debug --symbols编译选项,且优化等级 ≤ Level 1,否则 .axf 里没有完整 DWARF 行号信息 - 若用 ST-Link,确保 ST-Link固件已升级至 v3.5+,旧固件对 Cortex-Debug 新协议响应异常
插件更新后的断点失效,本质是调试协议细节收紧了——它不再宽容路径模糊、缓存陈旧或配置缺省。最有效的动作不是反复重启,而是逐层验证:source map 是否被加载、浏览器是否真在监听、插件缓存是否干净、硬件调试协议是否对齐。这几个点里任意一个没对上,断点就只是个红圈。


















