문제

예외 어시스턴트 대화 상자가 나타나게하는 처리되지 않은 예외가 있습니다.

세부 사항보기를 클릭하면 ... 예외 자체는 특성망에서 평가하지 않는 사용자 정의 객체 모델에 값이 있지만 바로 즉시 창에서 평가할 수 있다는 것을 알고 있습니다. (이 경우 속성 그리드는 컬렉션으로 드릴 다운 할 수 없지만 다른 경우가있을 수 있습니다)

시도 블록을 추가하기 위해 코드를 변경하지 않고, 어떻게 바로 창으로 이동하여 예외 예외에 대한 표현을 평가할 수 있습니까?

대답은 아마도 내가 아직 모르는 마법 일 것입니다.

관련된 것 System.Diagnostics.StackFrame 또는 누가 아는 사람. 영리한 것.

디버거 스레드를 사용하여이를 탐색하는 방법이 있지만 상당히 복잡합니다. 해결책이 될 수있는 포장지로 간단하게 만들 수 있다면.

도움이 되었습니까?

해결책

사용자가 취급 할 때가 대신 예외가 발생할 때 디버거를 깨뜨 리도록 설정 했습니까?

이렇게하려면 vs2010 기본 메뉴로 이동하여 '디버그'메뉴를 선택하십시오. 다음 다음 '예외 ...'를 선택하십시오.

그것은 다음과 같은 대화를 나눌 것입니다.Debug - loading= Exceptions.. menu">

던져진 열을 선택하십시오

이제 예외가 발생하고 바로 즉시 창에서 로컬 변수를 평가할 수 있어야합니다.

현지인 탭에서 $ 예외 변수를 볼 수 있습니다.Local variables contains $exception

바로 즉시 "$ Exception"변수를 사용할 수 있습니다.Immediate Window accessing $exception

업데이트: 또한 예외 처리를 쉽게 볼 수 있도록 사용하는 것이 좋습니다. 예외 차단기 비주얼 스튜디오 확장,이를 통해 디버그 메뉴에 드릴링하지 않고 도구 막대에서 켜지거나 끄는 예외 처리에서 브레이크를 전환 할 수 있습니다.

다른 팁

나는 Visual Studio 2010에 대해 잘 모르겠지만, 처리되지 않은 예외가 발생하는 Visual Studio 2012에서 Locals 이름이있는 창 $exception.

속성 그리드에서 평가하지 않는 속성이 있습니다.

속성을 평가할 수 없으면 디버거가 도움이되지 않습니다. 당신이 본 것처럼; 따라서 바로 창은 똑같이 할 것입니다.

VS2010에서 예외를 던지고 평가를 시도했을 때 디버거가 충돌 할 수 있도록 유효하지 않은 속성이있었습니다. 속성에서 반환되는 널은 디버거에게 좋지 않았습니다.

나는 당신이가는 것이 좋습니다 old school 문제에 대해 TRACE.WRITE 속성 내와 다른 곳에서 출력 창에서 쓰기 보고서를 모니터링합니다.

시각적 C#에서 추적 및 디버깅하는 방법

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top