2013-04-11 9 views
0

System.AccessViolationException 예외가 발생하여 처리되지 않은 방식으로 충돌하는 Windows 서비스가 있습니다. 사용자 프로필을로드하려고 할 때 (가장) 1000 건 중 하나에서 발생합니다. 솔루션을 더 중요하게 생각하는 데 관심이있는 것은이 미처리 된 오류를 포착 할 수 없다는 것입니다. 그리고 좋은 방법으로 서비스를 종료하십시오.System.AccessViolationException 캡처

나는이 예외에 핸들러를 추가 한 시작하는 동안

:

AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf UnhandledException 

만약 내가 내 핸들러를 통해 캡처되는 코드에 같은 장소로 하드 코드 던져 System.AccessViolationException. 그러나 1000 건 중 1 건의 호출에서 프로세스가 종료되고 이에 대한 정보는 이벤트 뷰어에서만 볼 수 있습니다.

아이디어를 캡처하는 방법은 무엇입니까?

답변

1

시도해 보셨습니까?

Try 
    'your code 
Catch ex As AccessViolationException 
    'write your ex.ToString() on a file or whatever 
End Try 
+1

나는 위에서 설명한 것처럼 일반적인 예외 (예 : Exception)와 예외 처리를 모두 캡처합니다. 여전히 서비스가 중단됩니다. LoadProfile은 (관리 코드에서) 관리되지 않는 함수에 대한 호출입니다. – serializer

관련 문제