当前位置: 首页 > 编程语言 > C#

在VisualStudio2010中调试时忽略跨AppDomain的异常分享

时间:2023-04-11 01:21:59 C#

在VisualStudio2010中调试时忽略跨AppDomain的异常,异常将冒泡并导致VisualStudio2010中断。我正确地包装了在try/catch中抛出的方法调用,当我正常运行应用程序(ASP.NETMVC应用程序)时,异常被正常捕获,但是在VisualStudio2010中调试w3wp.exe时,它??总是破坏方法调用抛出,我无法通过异常,即使它应该被捕获。我尝试用[DebuggerStepThrough]修饰外部方法,完成try/catch和throw方法调用,但这绝对没有效果。执行“Continue(F5)”、“Skip(F10)”或“StepOut(F11)”也什么都不做;VisualStudio只是暂停了一下,然后在同一位置再次中断,并出现完全相同的异常。一旦VisualStudio在异常发生的地方停止,似乎就完全没有办法继续前进了。我所做的只是调用assembly.GetExportedTypes(),如果导出的类型引用了一个找不到的程序集,它可能会抛出(我想忽略assembly.GetExportedTypes()的情况。抛出的异常是:FileNotFoundExceptioncrossedCrossingthenative/managedboundary正如我所说,我正在捕获FileNotFoundException,它在运行应用程序时起作用,但在调试时不起作用。如果assembly.GetExportedTypes()抛出更新,我如何让调试器理解我正在给老鼠屁股:我以为我已经通过取消选中VisualStudio2010中的选项“当异常跨越AppDomain或托管/本地边界(仅限托管)”(在“调试”>“常规”下)来解决问题,但这个问题再次出现。我在相关方法上使用了[DebuggerStepThrough]、[DebuggerStepperBoundary]和[DebuggerNonUserCodeAttribute],但没有任何效果。VisualStudio2010中有一个选项称为“当异常跨越AppDomain或托管/本机边界(仅限托管)时中断”(在“调试”>“常规”下),未选中该选项有时会有所帮助。如果没有,我需要退出VisualStudio2010,删除所有临时文件,然后重试。不是一个非常优雅的解决方案,所以如果有更好的想法请提供。以上为C#学习教程:在VisualStudio2010中调试时,忽略所有跨AppDomains异常共享的内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文来自网络合集,不代表立场,如涉及侵权,请点击右转联系管理员删除。如需转载请注明出处: