VS Code中.NET 6调试异常时无法访问变量的解决方法咨询
在VS Code中解决.NET 6调试异常时无法访问局部变量的问题
核心原因
你遇到的问题是因为调试器默认仅在未处理的异常触发时暂停,此时程序已走到异常处理的栈帧,无法获取抛出点的局部变量和参数。需要配置调试器在异常抛出的瞬间就暂停执行。
解决方案
方法1:通过调试UI快速设置
- 打开VS Code调试面板(快捷键
Ctrl+Shift+D) - 点击调试控制栏最右侧的「异常」按钮(图标为带感叹号的方块)
- 在弹出的异常列表中,找到
.NET Runtime分类:- 勾选「抛出时」选项,所有.NET异常在抛出时都会触发调试暂停
- 若只需针对特定异常调试,展开
.NET Runtime,勾选对应异常类型的「抛出时」即可
方法2:修改launch.json配置(持久化设置)
打开项目根目录下的.vscode/launch.json文件,在你的调试配置项中添加以下内容:
{ "name": ".NET Launch (console)", // 你的调试配置名称 "type": "coreclr", "request": "launch", "program": "${workspaceFolder}/bin/Debug/net6.0/YourProject.dll", // 新增异常处理配置 "exceptionHandling": { "continueWhenThrown": false, // 异常抛出时立即暂停,不继续执行 "continueWhenUserUnhandled": false // 未处理异常也触发暂停(可选,默认已开启) }, // 如需调试系统类库抛出的异常,可添加此配置 "justMyCode": false }
验证设置
重新启动调试,当异常抛出时,调试器会直接停在异常发生的代码行,此时就能正常查看当前栈帧的局部变量和参数了。
内容的提问来源于stack exchange,提问作者mustafa candan
相关产品推荐
相关产品推荐

