0

我已經在VS調試異常對話框中設置了ThreadAbortException,但它永遠不會中斷,即使我在我的代碼中顯式地指定了Thread.Abort()。visual studio does not catch ThreadAbortException

我可以看到在控制檯的條目,如:

A first chance exception of type 'System.Threading.ThreadAbortException' occurred in System.dll 
An exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll but was not handled in user code 

有沒有什麼辦法讓VS對這些例外打破? (我正在使用VS Express 2012用於桌面,但如果需要可以訪問完整VS)

回答

0

Redirect()調用End(),它在完成時引發ThreadAbortException異常。這是這種例外的一個來源。

打破例外選擇 Debug-> Exceptions和Common Language Runtime Exceptions在Thrown列中放置一個檢查。

您可以通過在控制檯應用程序中運行此示例代碼來驗證您的設置是否正確。調試器應該停止在線程中止的地方。

using System.Threading; 
using System.Threading.Tasks; 

namespace AbortThread 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Task.Run(() => Thread.CurrentThread.Abort()); 
     } 
    } 
} 
+0

正如我在原始問題中所說 - 我已經在調試異常中選擇了ThreadAbortException,但它仍然不會中斷。 –

+0

在投擲欄中是否有支票? –