0

VS Debug 예외 대화 상자에서 ThreadAbortException을 설정했지만 Thread.Abort()가 명시 적으로 코드에서 중단 되더라도 절대로 깨지지 않습니다.Visual Studio doesnt 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는 이러한 예외에 휴식을 얻을 수있는 방법이 있나요 :

I는 다음과 같은 콘솔의 항목을 볼 수 있습니까? (데스크톱 용 VS Express 2012를 사용하고 있지만 필요한 경우 전체 VS에 액세스 할 수 있습니다.)

답변

0

Redirect()은 완료시 ThreadAbortException 예외를 발생시킵니다. 이것은 그러한 예외의 한 근원입니다.

예외를 해제하려면 디버그 -> 예외를 선택하고 공용 언어 런타임 예외의 경우 throw 된 열을 선택하십시오.

콘솔 응용 프로그램에서이 샘플 코드를 실행하여 설정이 올바른지 확인할 수 있습니다. 디버거는 스레드가 중단 된 지점에서 중단되어야합니다.

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

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

원래 질문에서 말했듯이 - 이미 디버그 예외에서 ThreadAbortException을 선택했지만 여전히 중단되지 않습니다. –

+0

Throw 열에 수표가 있습니까? –