52

在 Visual Studio 中运行我的应用程序时,它以未处理的异常结束,而不是显示带有异常信息的消息框并按照我的习惯继续运行。

我需要更改哪些选项才能使其恢复到我习惯的行为?

编辑:在调试/异常中,我确实为 CLR 异常选择了用户未处理的选项。

4

12 回答 12

46

对于视觉工作室 2015:

1.打开异常设置窗口(2015年新增) 打开异常设置窗口(2015 年新增)

2.检查所有CLR异常 在此处输入图像描述

3.如果您不需要Visual Studio 抛出特定异常,请取消选中此项 在此处输入图像描述

于 2016-10-01T18:53:41.663 回答
36

Debug->Exceptions->Check Thrown/User-Unhandled公共语言运行时异常

编辑:也许尝试进行清理/重建,然后再次运行?也许调试符号已损坏或其他什么..

于 2013-06-06T19:36:59.953 回答
25

根据应用程序,以下选项可能会对您有所帮助:

工具 → 选项... → 调试 → 常规

  • 当异常跨越 AppDomain 或托管/本机边界时中断(仅限托管)
  • 启用异常助手
    • 在未处理的异常上展开调用堆栈

[注意:根据下面的评论,以下提示无效,并且对于某些人来说,创建了旨在解决的问题答案:谨慎使用...]

  • 取消选中Enable Just My Code ← JMC 可以防止您在不属于您的代码和/或缺少符号的代码中捕获异常。
于 2013-06-06T20:22:26.460 回答
22

就我而言,当我转到Debug -> Exceptions时,缺少User-unhandled列。转到Debug -> Options and Settings并启用Enable Just My Code解决了这个问题,从而完全解决了这个问题。

于 2014-11-24T05:10:03.827 回答
4

这为我修复了它:在快速启动 (Ctrl-Q) 中键入“ResetToC#”(或 ResetTo 其他内容)

很长一段时间我都有同样的问题。在 Debug->Exceptions 菜单中,缺少“User-unhandled”列!非常烦人。

我卸载了所有插件,重新安装了 VS,但没有任何效果(Visual Studio 可能在我的机器上留下了一些设置,重新安装后它会重复使用)。

这似乎不是最好的解决方案,因为在某个地方也必须有一些设置可以做到这一点。我找不到它,并且在几个月无法打破用户未处理的异常之后,ResetToC# 选项让我松了一口气。

于 2013-12-04T11:35:01.993 回答
4

我在一个非常大的 C# 项目中的 Visual Studio 2013 中遇到了同样的问题。但是,如果我创建了一个新的空项目并抛出了一个测试 ApplicationException,一切都会按预期工作,调试器会中断并给我异常助手。在我现有的项目上做同样的事情只会停止调试并返回 VS 编辑模式。我注意到在“输出”窗口中,最后一个调试跟踪会显示

程序“[2624] MyApplication.vshost.exe”已退出,代码为 -1073741819 (0xc0000005)“访问冲突”。

我真的没有把所有东西都复制到一个新项目中的奢侈,而且上面的建议都不适合我。通过反复试验,我发现了一些可行的方法:取消选中 Options > Debugging > General > Enable the exception assistant 下的“Unwind the call stack on unhandled exceptions”

顺便说一句,如果我通过异常助手手动强制调用堆栈在同一个 C# 项目上展开(通过单击“启用编辑”链接),调试器将关闭,我无法编辑并继续。但是在一个新项目上,它确实可以放松并编辑并继续工作!因此,我的项目肯定有一些 VS 不喜欢的地方,但我暂时将其用作可接受的解决方法。

于 2014-10-20T16:49:23.343 回答
3

唯一对我有用的是:

工具 -> 导入和导出设置 -> 重置所有设置,然后重置为 C#。

于 2016-02-05T20:12:09.690 回答
2

将目标平台从 x64 更改为 x86 帮助了我

于 2016-04-21T08:16:09.203 回答
1

如果您将鼠标悬停在断点上并看到“未加载符号警告”,

在此处输入图像描述

您可能需要将解决方案配置从“发布”更改为“调试”。

在此处输入图像描述

于 2020-10-12T16:16:25.147 回答
1

如果您的解决方案中有多个网站项目,请检查您要调试的项目是否处于活动状态。右键单击它并选择Set as StartUp Project

这让我难了一阵子,因为没有明显的迹象表明正在调试错误的网站。

于 2016-10-19T22:38:11.480 回答
0

唯一对我有用的是取消选中“使用新的异常助手”。让它捕获异常,停止程序,启用“使用新的异常助手”,然后 VS2019 神奇地再次开始捕获未处理的异常。

我仍然没有在 VS 2019 中的任何地方找到“用户未处理”,但至少它现在可以工作。

于 2020-12-02T00:36:18.860 回答
0

我在这里尝试了很多建议,但最终对我来说,切换x86/x64帮助我解决了 VS 调试器终止的问题,没有任何错误或异常。

截屏

于 2021-06-12T03:30:48.053 回答