我有一个应用程序,在该领域罕见的崩溃。在大多数情况下,这些崩溃会产生带有堆栈跟踪的异常日志,因为我注册了所有标准的未处理异常事件处理程序(AppDomain.CurrentDomain.UnhandledException
,TaskScheduler.UnobservedTaskException
和DispatcherUnhandledException
)。但是,此特定崩溃不会产生异常日志,这使我怀疑行为不当的第三方组件(包含非托管代码)在Finalizer线程中导致异常。
有什么方法可以证明这确实是发生了什么?遗憾的是,这是不可重复的(我怀疑是时间/线程问题),所以理想情况下有一些方法可以在运行时记录诊断信息,而不是通过调试器连接时。