2011-01-06 3 views
5

소켓 연결에서 시작된 이벤트에 의해 내 프로그램을 업데이트하는 많은 수명이 짧은 스레드가 있습니다. 내 문제는 코드에서 예외가 발생하는 위치에 대한 적절한 정보를 얻는 방법과 같이 이것을 디버깅하는 방법을 모른다는 것입니다. 예를 들어 아래 에서처럼 예외가 생기기 때문에 이는 Immidiate 창에서 인쇄됩니다. 팝업 창은 없으며 코드의 아무 라인이나 강조 표시하지 않습니다.다른 스레드에서 예외를 디버깅하는 방법?

나는 무엇이 누락 되었습니까? 이걸 보러 내가 뭘 할 수 있니? VS2010은 이러한 상황에 어떤 개선점이 있습니까?

A first chance exception of type 'System.InvalidOperationException' occurred in System.Core.dll 
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll 
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in Krs.Ats.IBNet.dll 

답변

10

로 이동 "디버그 -> 예외 ..."에서 "공용 언어 런타임 예외"를 찾아 "슬로우"표시를 확인합니다. 이제 응용 프로그램 디버깅을 시작하십시오. CLR 예외가 발생하면 해당 행에서 실행이 중지됩니다.

- Pavel

+0

완전히 멋지다! 감사! :) – bretddog

+0

이것은 단지 나를 도왔습니다. +1 – JMK

+0

도 전혀 다른 문제가 해결되었습니다. 지금까지는 디버거가 실행될 때마다 멈추고있었습니다. 일단 @volpav 대답에서와 같이 디버깅 옵션을 변경하면 IDE가 코드 실행 직후에 반환됩니다! –

관련 문제