You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决VS Code启动Node.js/Jest调试会话后断点位置偏移的问题

VS Code Node.js调试断点偏移问题说明

问题现象

在VS Code中启动Node.js调试会话后,已预先设置的断点会跳转到完全不相关的行:

  • 设置断点前界面:未启动调试会话时,VS Code界面中15、18行设置了断点的截图
  • 启动调试后界面:启动调试会话后,VS Code界面中原15、18行断点消失,偏移到6、10行的截图
    最终断点从原本设置的15、18行偏移到了6、10行。

已执行排查步骤

  • 项目使用TypeScript开发,最初猜测是source map映射异常,经source map可视化校验工具校验后,确认source map本身无问题。
  • 怀疑是VS Code运行器异常导致,尝试在终端手动执行node --inspect-brk node_modules/.bin/jest --runInBand,再在VS Code中附加到该调试进程,问题仍复现。
  • 多场景测试验证:使用Jest运行测试时,仅在Jest测试文件中设置断点会出现偏移问题;同时在业务源文件和Jest测试文件中设置断点时,Jest测试文件的断点不会发生偏移。
  • 已查阅Jest官方提供的VS Code调试故障排查文档,按步骤完成所有配置,已确认使用runInBand等要求参数,问题未解决。
  • 尝试调整VS Code的launch.json配置,添加outFiles选项指向dist文件夹下所有编译产物,该操作会产生修改测试文件的副作用,且断点偏移问题仍未解决。
  • 尝试将launch.json中的smartStep配置项设置为true,无改善效果。

问题复现方式

对应代码存放在dynamoose项目的debuggingBreakpointFix分支,执行npm install安装依赖后设置断点,再运行VS Code中的Debug Jest Tests配置即可复现该问题。

内容的提问来源于stack exchange,提问作者Charlie Fish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:24:07