2011-06-10 75 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