2011-06-10 4 views
1

내 응용 프로그램과 dll의 외부 어셈블리에서 기본 pinvoke 호출을 사용하고 있습니다."RemotingException"을 (를) 캐치하는 방법?

는에

여러 번 "유형 'System.Runtime.Remoting.RemotingException'의 첫째 예외가 mscorlib.dll에서 발생했습니다"프로그램의 일부가 작동을 멈 춥니 다 내가 얻을 때까지 모든 것이 잘 작동 디버그 출력 창. 실행이 계속되며 코드를 실행하려고하면 출력 창에 출력됩니다. 예외가 발생한 곳을 얻는 방법?

답변

2

첫 번째 기회와 두 번째 기회의 차이점을 염두에 두십시오. 첫 번째 예외는 던지기는하지만 보더라도조차도 잡히고 처리 될 수 있습니다. 이것은 정상적인 것이며 우려할만한 이유는 아닙니다.

두 번째 예외는 예외가 throw되고 아무도 catch하지 않으므로 예외가 처리되지 않고 프로그램이 종료 될 수 있습니다.

디버그 텍스트에만 관심이 있습니까, 아니면 작동하지 않습니까? 그것이 효과가 있다면 나는 걱정하지 않을 것이다. WinDebug에서 큰 관심사를 파악하고 분석하면 Visual Studio IDE에게 첫 번째 예외 상황을 막을 수 있습니다.

+0

작동하지 않습니다. 내 응용 프로그램이 충돌하지 않지만 제대로 작동하지 않습니다. – blez

+1

RemotingException을 중단하도록 디버거에 지시해야합니다. Debug-> Exceptions로 이동하여 "Common Language Runtime Exceptions"를 확장 한 다음 System.Runtime.Remoting을 확장하고 Thrown on RemotingException에 대한 확인란을 선택합니다. 그런 다음 디버그에서 코드를 실행하면 RemotingException이 Throw되는 즉시 중단해야합니다. 물론 문제가 직접 코드에 없지만 코드에서 프레임 워크가 던져지게하는 프레임 워크를 사용하는 방법의 증상 인 경우 진단하기가 더 어려울 수 있습니다. –