Visual Studio 15.7.1 TypeScript调试无法命中断点求助
解决Visual Studio 15.7.1中TypeScript断点无法命中的问题
我之前升级VS后也碰到过一模一样的TypeScript调试失效问题,给你几个亲测有效的排查和解决步骤:
确认Source Map已启用
这是最关键的一步,没有源映射文件,VS根本没法把TS代码和生成的JS代码关联起来。你可以两种方式检查:- 打开项目根目录的
tsconfig.json,确保里面有"sourceMap": true这个配置项; - 右键项目→选择「属性」→切换到「TypeScript Build」标签页,勾选「Generate source maps」选项,保存后重新编译项目。
- 打开项目根目录的
验证源映射文件的生成与路径
编译项目后,去项目的输出目录(比如Scripts文件夹)检查,每个TS文件对应的JS文件旁边应该有一个.map文件,而且这个.map文件必须和JS文件在同一目录,不能被IIS Express排除在外。如果没有生成.map文件,回到第一步确认设置是否生效,或者尝试清理项目后重新编译。检查调试会话与浏览器设置
- 启动调试后,在VS的「调试」菜单里打开「Windows→JavaScript Console」,输入
__sourceURL,如果返回的是你的TS文件路径,说明源映射已经生效; - 打开Edge的开发者工具(F12),进入「调试器」标签,确保没有勾选「禁用JavaScript」或「忽略源映射」选项,这些会打断VS和浏览器的调试关联;
- 尝试重启Visual Studio和IIS Express,有时候升级后的调试会话会出现异常,重启能快速解决。
- 启动调试后,在VS的「调试」菜单里打开「Windows→JavaScript Console」,输入
修复VS的调试相关组件
升级过程中可能会导致部分组件损坏,打开Visual Studio Installer,选择「修改」,在「单个组件」里找到「JavaScript和TypeScript语言支持」以及「ASP.NET和Web开发」下的调试组件,确认它们已安装,或者直接选择「修复」选项重新安装这些组件。清理项目缓存
右键项目→选择「清理」,然后右键→「生成」;或者手动删除项目根目录下的bin和obj文件夹,再重新编译。旧的缓存文件可能会干扰新的源映射关联,清理后往往能解决奇怪的调试问题。
内容的提问来源于stack exchange,提问作者MtnManChris
相关产品推荐
相关产品推荐

