【发布时间】:2018-10-20 18:24:47
【问题描述】:
这一直存在,但我想知道是否有人找到了解决方案......
有时我禁用“仅我的代码”(这些天与启用 SourceLink 一起使用)并为 Visual Studio 中的所有“公共语言运行时异常”打开“抛出时中断”,因为我想检查异常被吞没的问题由第三方库提供。
完成并重新启用“仅我的代码”并为所有“公共语言运行时异常”启用“抛出时中断”后,有时我仍然会在第三方库抛出 HANDLED 异常时中断。意思是,第三方库有一个我不想看到的静默异常,但 Visual Studio 无论如何都会中断。例如,库可能有预期的 TCP 连接超时,但 Visual Studio 无论如何都会中断。我只希望在禁用“仅我的代码”时发生这种情况。
通常我必须重新启动 Visual Studio,有时会清除所有缓存的调试信息,这会减慢其他操作的速度。
有人找到解决办法了吗?
更新:查看显示意外行为的屏幕截图。 Just My Code 已启用,Break When Thrown 被选中,并且第三方代码中的已处理异常无论如何都会弹出。如果我重新启动 Visual Studio(有时也清除缓存),我将不再收到使用相同设置的提示。即使在我禁用源链接之后,似乎有什么东西使该外部库被视为“我的代码”。
谢谢。
【问题讨论】:
-
我不完全确定你在这里问什么。您是说,如果您为所有启用的异常保留“抛出时中断”,Visual Studio 会中断所有异常,并且您正在寻求解决此问题的方法?你能澄清一下吗?
-
您是否在第 3 段中切换了启用/禁用?我希望调试器在“Just My Code”关闭并且“Break When Thrown”为该异常打开时中断外部代码。但是,如果“仅我的代码”处于启用状态,则还有一个附加选项可以“在用户代码中未处理时继续”。是这样设置的吗?有关详细信息,请参阅此doc page。
-
@Lasse Vågsæther Karlsen - 我说错了。更新并包含图片
-
“在用户代码中未处理时继续”不应该是必要的@mikez - 这不是我的代码,也不是未处理
标签: c# .net visual-studio visual-studio-debugging