처리되지 않은 예외 (모든 스레드에서 발생)의 스택 추적을 파일에 기록하려면 어떻게해야합니까?다른 스레드에서 예외가 throw 될 때 스택 추적을 작성하십시오.
걸려있는 응용 프로그램을 디버그하는 데 도움이 필요합니다.
처리되지 않은 예외 (모든 스레드에서 발생)의 스택 추적을 파일에 기록하려면 어떻게해야합니까?다른 스레드에서 예외가 throw 될 때 스택 추적을 작성하십시오.
걸려있는 응용 프로그램을 디버그하는 데 도움이 필요합니다.
감사합니다 여러분 모두, 그러나 나는 보았다 때 I Visual Studio에서 프로그램을 실행하면 모든 스레드에서 처리되지 않은 예외가 발생했을 때 콘솔 창에 .NET에서 작성한 추적 출력이 콘솔 창으로 리디렉션되지 않습니다.
Visual Studio에서 분리 된 프로그램을 실행하면 방금 전환됩니다. 따라서이 코드는 처리되지 않은 예외를 throw하는 모든 스레드 추적을 보는 것이 좋습니다.
AppDomain.UnhandledException 이벤트를 살펴보십시오. 이것이 바로 당신이 필요로하는 것 같습니다.
나는 당신이 AppDomain.UnhandledException 이벤트를 경청함으로써 이것을 할 수 있다고 생각합니다. WPF의 경우 가치뿐만 아니라 Application.Current.Dispatcher.UnhandledException을 듣고에서
아래처럼 ex.StackTrace에 의해 catch 블록에서 스택 추적을 얻을 수 있습니다 :
try
{
//Your code;
}
catch(Exception ex)
{
string innerException = ex.InnerException;
string stackTrac = ex.StackTrace;
//Write this stackTrac to any file where you want
}