2013-11-04 3 views
3

프로젝트에 NHibernate와 Enterprise Library를 사용합니다. 나는 new UnityContainerConfigurator(_container), _container.RegisterInstance(instance)var configuration = new NHibernate.Cfg.Configuration()과 같은 일부 호출을 수행하여 VS가 내부 예외 (처음 두 개는 SynchronizationLockException을 던지고 마지막 하나는 BindingFailure)를 발생 시키므로 중지시킵니다.내부 예외가 내 코드에 던져지지 않습니다.

F5 키를 누르면이 예외가 건너 뛰고 계속 실행되므로 이러한 오류가 라이브러리에서 내부적으로 발생하여 처리되었다고 가정합니다. 그러나 나는 왜 VS가 이것들에 대해 계속 알려주고 있는지 전혀 모른다.

"내 코드 만 사용"옵션이 켜져 있습니다. 이 옵션이 켜져 있으면 이해하지만, 이러한 예외는 내가 사용하는 라이브러리의 내부이므로 실행을 방해해서는 안되지만 실제로는 그렇지 않습니다.

예외 창 (Ctrl + Alt + E)에서 모든 예외가 "Thrown"으로 표시됩니다. 그러나 그것은 실제로 필요한 것입니다. 아무런 예외가 발생했을 때 통보 받기를 원합니다. 내 코드에 이 있었지만 라이브러리의 코드는 아닙니다. 이 구성을 설정 해제하거나 나를 괴롭히는 예외를 필터링하고 체크 아웃하고 싶지 않습니다.

원하는 아이디어를 얻는 방법에 대한 아이디어가 있습니까?

+0

"그냥 내 코드"는 디버거가 걸을 때 사용하는 코드에만 영향을줍니다. 내가 아는 한 멈추는 예외는 필터링하지 않습니다. –

+0

@DStanley 다른 옵션을 살펴 봐야합니까? – Archeg

+0

예외를 필터링하고 개별 예외 유형을 확인/해제 할 수있는 유일한 옵션. –

답변

1

상위 메뉴에서 디버그 메뉴 항목을 선택하십시오. 예외를 선택하십시오. 공용 언어 런타임 예외가 선택되어 있는지 확인하십시오.

SynchronizationLockException 및 Unity Container에 대한 자세한 내용은 this so question을 참조하십시오.

+0

답변 해 주셔서 감사합니다. 그들은 검사를받습니다. 그리고 이것이 바로 문제의 원인입니다. 그러나 나는 그것들을 체크하지 않기를 원하지 않는다 -이 수표는 아주 유용하다. SO 질문에 대한 링크는 고마워요. 이건 상당히 흥미 롭습니다. 내가 가진 문제를 해결하는 것이 아니라, 분명히 더 많이보아야한다. – Archeg

관련 문제