我最近通過線未捕獲的異常確定源
Try
{
Debug.WriteLine("ViewHelper before comObj.Send() ");
comObj.Send(); // a very old com component
Debug.WriteLine("ViewHelper after comObj.Send() ");
}
Catch (Exception Ex)
{
Debug.WriteLine("ViewHelper comObj.Send " + Ex.Message);
}
comObj.Send()找到了一個異常線的來源是拋出一個異常
異常崩潰的應用程序
,但它不是在抓上述嘗試捕捉
我在Visual Studio中的所有例外打破它,沒有違反該行
它陷入了一個全局錯誤處理程序App_DispatcherUnhandledException
如果我設置e.Handled = TRUE;它只是拋出了很多次,仍然崩潰的應用程序
異常沒有給出關於源
我發現來源是那些以前和調試語句後的唯一途徑信息
唯一的例外是在一百個電話扔在一個所以很難跟蹤
有沒有更快的方法來找到異常的來源?
有沒有辦法回到最後一行?
在後臺我應該專注於COM組件。
它扔什麼?它聽起來並不像它投擲的東西真的是被抓到的,你可能在應用程序崩潰時更好地在故障點進行調試。 (對於C++程序集,代碼生成 - >啓用C++異常)在這裏有很多控制。 – 2013-09-16 17:56:10
@ebyrob如果我讓它崩潰,它不在那條線上。就像我說的那樣,直接嘗試捕捉並沒有抓住它。 – Paparazzi
通過「崩潰」您的意思是核心轉儲沒有包含該行(或內存位置)在它的堆棧跟蹤? (我還假設你修改了默認處理程序:http://mike.woelmer.com/2009/04/dealing-with-unhandled-exceptions-in-wpf/) – 2013-09-16 18:12:31