Visual Studio 2019可命中断点但运行到错误行不自动中断如何修复
Visual Studio 2019调试异常不定位到错误行修复方案
1. 调整异常触发设置
这是该问题最高概率的解决方案,操作步骤如下:
- 进入调试状态后,按快捷键
Ctrl+Alt+E打开「异常设置」窗口 - 找到「公共语言运行时异常」项,勾选该项左侧的复选框
- 右键点击「公共语言运行时异常」,确认「当用户未处理异常时继续(仅我的代码)」选项未被勾选
配置完成后重新调试,只要代码抛出CLR异常,调试器会直接中断在报错代码行,无论是否存在隐式的异常捕获逻辑。
2. 排查全局异常捕获逻辑
如果你使用的是带全局异常处理的框架(例如ASP.NET、WPF、WinForm等),框架默认的全局异常捕获器会被VS识别为异常已被处理,因此默认不会触发中断。你可以:
- 到全局异常处理的注册位置(例如WPF的
App.xaml.cs中的DispatcherUnhandledException事件、ASP.NET Core的异常中间件位置)添加断点 - 或者保持第一点的全异常中断配置,即可直接中断在原始报错位置
3. 重置Visual Studio调试配置
如果上述配置无误仍有问题,可重置调试配置修复可能的设置损坏:
- 点击顶部菜单栏「工具」>「导入和导出设置」
- 选择「重置所有设置」,点击下一步
- 选择「否,仅重置设置,覆盖我的当前设置」,点击下一步
- 选择你常用的开发设置预设(例如「Visual C# 开发设置」),点击完成后重启VS即可
4. 清理解决方案缓存
缓存的编译文件可能导致调试符号不匹配,按以下步骤清理:
- 关闭所有Visual Studio窗口
- 打开解决方案所在的根目录,删除隐藏的
.vs文件夹 - 依次进入每个项目的目录,删除
bin、obj文件夹 - 重新打开VS,加载解决方案后点击「生成」>「重新生成解决方案」,再启动调试
内容的提问来源于stack exchange,提问作者Cflux
相关产品推荐
相关产品推荐

