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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:33:19