我得到了一个复杂的.net控制台应用程序,它在一些通知窗口中使用WPF,还可以执行一些http调用。在非常罕见的情况下,应用程序崩溃以及我能够获得的唯一错误消息来自于windows事件查看器:
Application: xyz.exe
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ObjectDisposedException
Stack:
at System.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean ByRef)
at Microsoft.Win32.Win32Native.SetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle)
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()我不知道堆栈跟踪从哪里来。有什么办法找这个问题吗?以下是我的一些想法:
很抱歉,这个问题不太明确,但我完全被困在这里,只是需要一些起点。
发布于 2017-11-26 09:15:52
我也遇到了同样的问题,并发现以下代码导致了异常:
using (ManualResetEvent resetEvent = new ManualResetEvent(false))
{
timer.Dispose(resetEvent);
resetEvent.WaitOne(1000);
}如果计时器在一秒钟内未被释放,则可能会发生异常。解决方案是-只有当resetEvent方法返回true时才释放WaitOne。
https://stackoverflow.com/questions/37386373
复制相似问题