우리는 WPF 및 Entity Framework를 기반으로 실행되는 큰 비즈니스 응용 프로그램을 보유하고 있습니다. 문제는 지난 2 주 동안 문제가 발생하여 소스를 식별 할 수 없다는 것입니다.예외 (예외적으로 C# WPF가 발생 함)에서 자세한 정보를 얻으려면 어떻게해야합니까?
예외는 DispatcherUnhandledException에 의해 갇혀되고 있으며, 우리는 (이메일을 통해) 예외에서 점점 정보가 이것이다 :
mscorlib: Value cannot be null.
at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
at System.Threading.Monitor.Enter(Object obj, Boolean& lockTaken)
at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
at System.Data.EntityClient.EntityConnection.Dispose(Boolean disposing)
at System.ComponentModel.Component.Finalize()
예외가 발생되고있다 "무작위"4 또는 5 번 하루 만 우리가 가진 20 명 이상의 사용자 중 하나로부터 우리는 문제를 알아낼 수 없습니다!. 스택 추적은 많은 정보를 제공하지 않으며 우리는 문제를 재현 할 수 없습니다.
나는 이것이 스레드에서 발생한다고 가정하지만, BackgroundWorkers와 비동기적인 것들을 많이 가지고 있기 때문에 예외를 일으키는 스레드를 식별 할 수는 없다!
그렇다면 어떻게 예외에 대한 자세한 정보를 얻을 수 있습니까 ??
편집 :이
어떤 InnerExceptions 없습니다.
또한 예외는 예를 들어 11:41, 11:46, 11:51과 같이 분과 시간 간격으로 발생합니다. 그런 다음 18:03, 18:07, 18:11까지 실행됩니다. 예외는 발생하지 않습니다. 이 분 간격이 발생하는 순간도 무작위이며 서버 또는 네트워크의 부하와 관련이 없습니다.
이메일을 통해 전달되지 않는 'InnerException'이 있습니까? –
아니요, 잡힌 모든 예외가있는 경우 InnerExceptions와 함께 전송됩니다. –
프레임 워크의 일부 콜백에 의해 숨겨진 코드 어딘가에 예외가있을 수 있습니다.예외를 기록한 다음 catch하는 catch 절을 추가하십시오. WPF와의 접촉 지점에서 다시 돌아옵니다 (예 : VM 설정자, 명령 구현). 또한 가능한 경우 해당 클라이언트에게 해당 PDB를 보내고 원격으로 디버깅을 시도하십시오 (Visual Studio 원격 디버거 사용). –