在 Visual Studio 中运行我的应用程序时,它以未处理的异常结束,而不是显示带有异常信息的消息框并按照我的习惯继续运行。
我需要更改哪些选项才能使其恢复到我习惯的行为?
编辑:在调试/异常中,我确实为 CLR 异常选择了用户未处理的选项。
在 Visual Studio 中运行我的应用程序时,它以未处理的异常结束,而不是显示带有异常信息的消息框并按照我的习惯继续运行。
我需要更改哪些选项才能使其恢复到我习惯的行为?
编辑:在调试/异常中,我确实为 CLR 异常选择了用户未处理的选项。
Debug->Exceptions->Check Thrown/User-Unhandled
公共语言运行时异常
编辑:也许尝试进行清理/重建,然后再次运行?也许调试符号已损坏或其他什么..
根据应用程序,以下选项可能会对您有所帮助:
工具 → 选项... → 调试 → 常规
[注意:根据下面的评论,以下提示无效,并且对于某些人来说,创建了旨在解决的问题答案:谨慎使用...]
就我而言,当我转到Debug -> Exceptions时,缺少User-unhandled列。转到Debug -> Options and Settings并启用Enable Just My Code解决了这个问题,从而完全解决了这个问题。
这为我修复了它:在快速启动 (Ctrl-Q) 中键入“ResetToC#”(或 ResetTo 其他内容)
很长一段时间我都有同样的问题。在 Debug->Exceptions 菜单中,缺少“User-unhandled”列!非常烦人。
我卸载了所有插件,重新安装了 VS,但没有任何效果(Visual Studio 可能在我的机器上留下了一些设置,重新安装后它会重复使用)。
这似乎不是最好的解决方案,因为在某个地方也必须有一些设置可以做到这一点。我找不到它,并且在几个月无法打破用户未处理的异常之后,ResetToC# 选项让我松了一口气。
我在一个非常大的 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 不喜欢的地方,但我暂时将其用作可接受的解决方法。
唯一对我有用的是:
工具 -> 导入和导出设置 -> 重置所有设置,然后重置为 C#。
将目标平台从 x64 更改为 x86 帮助了我
如果您的解决方案中有多个网站项目,请检查您要调试的项目是否处于活动状态。右键单击它并选择Set as StartUp Project。
这让我难了一阵子,因为没有明显的迹象表明正在调试错误的网站。
唯一对我有用的是取消选中“使用新的异常助手”。让它捕获异常,停止程序,启用“使用新的异常助手”,然后 VS2019 神奇地再次开始捕获未处理的异常。
我仍然没有在 VS 2019 中的任何地方找到“用户未处理”,但至少它现在可以工作。