【发布时间】:2009-02-06 20:40:51
【问题描述】:
使用 .Net Framework 1.1,有哪些选项可用于监视来自其他线程的线程?我试图解决 1.1 中线程实现的一个缺点,其中未处理的异常将导致线程无声地死掉。在 2.0 及更高版本中,这已得到纠正,因此任何线程上的任何未处理的异常都会导致整个应用程序死掉,我相信。
当我的应用程序中的线程死亡时,我想从主线程中检索尽可能多的上下文:它们正在执行的方法、堆栈跟踪等。我可以确定它们何时死亡,但检索上下文已被证明是困难的。我尝试为AppDomain.CurrentDomain.UnhandledException 事件注册一个处理程序。但是当事件发生时我不会被召回。这可能是由于我正在开发的 API 的限制。
除了这个事件之外,当线程死在另一个线程上时,还有哪些选项可用于从线程获取上下文?
【问题讨论】:
-
未处理线程异常的事件是Application.ThreadException。
标签: c# .net multithreading