2012-04-18 98 views
0

在調試錯誤時VB6的美好時代,我會臨時在錯誤處理程序中鍵入Resume以使我回到導致錯誤的行。C#異常調試 - 如何返回並恢復異常行

有沒有辦法在C#中做同樣的事情?我不是在談論一種永久性的迴歸方式,這只是在您正在調試時,並且您想知道哪一行導致了您當前正在使用catch語句的異常。

所以只是要清楚。

  1. 我知道的東西引起的異常,所以我把一個破發點上的catch語句
  2. 調試器命中斷點在抓,我想知道哪行引起的,並採取了調試器回它。

我無法使用調試>選項 - 拋出所有異常,因爲應用程序中還有其他異常在無聲地發生(我沒有寫出它)。

感謝

+0

如果還有其他異常被拋出,你可以限制拋出的異常執行停止到你想要捕捉的異常。 – Dugan 2012-04-18 15:52:10

+1

如果pdb文件存在,每個異常都會有一個帶有文件名和行號的堆棧跟蹤。你不能用這個嗎? – 2012-04-18 15:52:59

回答

2

異常中的堆棧跟蹤會告訴你它發生了什麼行。然後,您可以將黃色箭頭拖回到該行並從此繼續進行調試。

0

最好的辦法很可能把一個斷點在try塊的開始,如果你再通過該塊它會告訴你哪裏出錯步驟。

或者,暫時刪除try和catch,並且visual studio會停止執行拋出異常的行,因爲異常不會被捕獲。

2

您需要繼續跳出catch語句,然後您可以「設置下一個語句」或將黃色箭頭拖到try語句的開頭。