【发布时间】:2013-06-02 23:11:22
【问题描述】:
在 Visual Studio 中运行我的应用时,它会以未处理的异常结束,而不是显示带有异常信息的消息框并按照我的习惯继续运行。
我需要更改哪些选项才能恢复到我习惯的行为?
编辑:在调试/异常中,我确实为 CLR 异常选择了用户未处理选项。
【问题讨论】:
标签: debugging exception visual-studio-2012 ide
在 Visual Studio 中运行我的应用时,它会以未处理的异常结束,而不是显示带有异常信息的消息框并按照我的习惯继续运行。
我需要更改哪些选项才能恢复到我习惯的行为?
编辑:在调试/异常中,我确实为 CLR 异常选择了用户未处理选项。
【问题讨论】:
标签: debugging exception visual-studio-2012 ide
Debug->Exceptions->Check Thrown/User-Unhandled 用于公共语言运行时异常
编辑:也许尝试进行清理/重建,然后再次运行?也许调试符号已损坏或其他什么..
【讨论】:
Ctrl+Alt+E
根据应用程序,以下选项可能会对您有所帮助:
工具 → 选项... → 调试 → 常规
[注意:基于下面的 cmets,以下提示不起作用,并且对于某些人来说,创建了旨在解决的问题答案:谨慎使用...]
【讨论】:
就我而言,当我转到 Debug -> Exceptions 时,User-unhandled 列丢失了。转到 Debug -> Options and Settings 并启用 Enable Just My Code 解决了这个问题,从而完全解决了这个问题。
【讨论】:
这为我解决了这个问题:在快速启动 (Ctrl-Q) 中键入“ResetToC#”(或 ResetTo 其他内容)
我很长一段时间都遇到了同样的问题。在 Debug->Exceptions 菜单中,缺少“User-unhandled”列!非常烦人。
我卸载了所有插件,重新安装了 VS,但没有任何效果(Visual Studio 可能在我的机器上留下了一些设置,这些设置在重新安装后会重复使用)。
这似乎不是最好的解决方案,因为必须有一些设置也可以做到这一点。我找不到它,并且在数月来无法中断用户未处理的异常之后,ResetToC# 选项让我松了一口气。
【讨论】:
我在 Visual Studio 2013 的一个非常大的 C# 项目中遇到了同样的问题。但是,如果我创建了一个新的空项目并抛出了一个测试 ApplicationException,一切都会按预期工作,调试器会中断并给我异常助手。在我现有的项目上做同样的事情只会停止调试并返回 VS 编辑模式。我注意到在“输出”窗口中,最后一个调试跟踪会显示
程序“[2624] MyApplication.vshost.exe”已退出并显示代码 -1073741819 (0xc0000005) '访问冲突'。
我真的没有将所有内容复制到新项目中的奢侈,而且上述建议都对我不起作用。通过反复试验,我发现了一些可行的方法:取消选中“选项”>“调试”>“常规”>“启用异常助手”下的“在未处理的异常上展开调用堆栈”。
顺便说一句,如果我通过异常助手手动强制调用堆栈在同一个 C# 项目上展开(通过单击“启用编辑”链接),调试器将关闭,我无法编辑并继续.但是在一个新项目上,它确实可以放松和编辑并继续工作!因此,我的项目肯定有 VS 不喜欢的地方,但我暂时将其用作可接受的解决方法。
【讨论】:
唯一对我有用的是:
工具 -> 导入和导出设置 -> 重置所有设置,然后重置为 C#。
【讨论】:
将目标平台从 x64 更改为 x86 对我有帮助
【讨论】:
如果您的解决方案中有多个网站项目,请检查您要调试的项目是否处于活动状态。右键单击它并选择设置为启动项目。
这让我难了一阵子,因为没有明显的迹象表明正在调试错误的网站。
【讨论】:
唯一对我有用的是取消选中“使用新的异常帮助程序”。让它捕获异常,停止程序,启用“使用新的异常助手”,然后 VS2019 神奇地再次开始捕获未处理的异常。
我仍然没有在 VS 2019 的任何地方找到“用户未处理”,但至少现在可以使用。
【讨论】: