2011-06-10 72 views
1

我在我的应用程序和dll中的外部程序集中使用本地调用调用。 一切工作正常,直到程序的一部分,停止工作,我得到:如何捕捉“RemotingException”?

“类型‘System.Runtime.Remoting.RemotingException’的第一次机会异常出现在mscorlib.dll”

中多次调试输出窗口。执行继续,当我尝试执行我的代码时,它只是在输出窗口中打印它。如何获得发生异常的位置?

回答

2

请记住一次机会和二次机会例外的区别。第一次机会的例外是抛出,但在你看到它之前可能会被捕获和处理。这是正常的,并不是太多的原因。

第二次机会的异常是当异常抛出,并且没有人捕获它时,异常变为未处理并可能导致程序终止。

你只关心调试文本,还是不工作?如果它有效,我不会担心。如果这是一个值得关注的问题,请在WinDebug中进行分析并分析它,或者您可以告诉Visual Studio IDE停止一次性异常。

+0

这不起作用。我的应用没有崩溃,但无法正常工作。 – blez 2011-06-10 17:44:42

+1

你必须告诉调试器在RemotingException上中断。转到Debug-> Exceptions,展开“Common Language Runtime Exceptions”,然后展开System.Runtime.Remoting并选择RemotingException上的Thrown复选框。然后在调试下运行你的代码,并且一旦抛出RemotingException就应该中断。当然,如果问题不是直接在你的代码中,而是你的代码如何使用框架,导致框架抛出它的症状可能更难以诊断。 – 2011-06-10 17:57:31