Код, который я унаследовал, продолжает сильно сбой со следующей ошибкой (не изменен вообще):
System.ObjectDisposedException: Safe handle has been closed
at Microsoft.Win32.UnsafeNativeMethods.GetOverlappedResult(
SafeFileHandle hFile, NativeOverlapped* lpOverlapped,
Int32& lpNumberOfBytesTransferred, Boolean bWait)
at System.IO.Ports.SerialStream.EventLoopRunner.WaitForCommEvent()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.
ExecuteCodeWithGuaranteedCleanup(
TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(
ExecutionContext executionContext, ContextCallback callback,
Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,
ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Это происходит только тогда, когда предыдущие разработчики добавили AppDomain.UnhandledException Event.
Если я удалю его, приложение просто вылетает с сообщением Dr Watson (отправьте отзыв и т.д.), а не обычным диалоговым окном .NET(с опцией продолжения и трассировкой стека).
Я проверил и не связан с Thread.Abort
Как я могу попытаться найти причину этой проблемы, как она кажется, из трассировки стека, а не быть в коде приложения?