【发布时间】:2011-10-18 14:14:52
【问题描述】:
我试图弄清楚为什么在应用程序关闭并且窗口消失后,应用程序进程会在任务管理器中徘徊。
当我让 VS 附加到僵尸进程并中断所有进程时,线程窗口显示主线程仍然处于活动状态,并且还有许多工作线程。
一些问题:
-
工作线程一定是后台线程吗?如果没有,我在窗口中没有看到这样的列,如何识别后台线程?
我是否只需双击线程窗口中的每个线程,然后查看 Thread.IsBackgroundThread 值?
当我单击主线程时,调试器不显示调用堆栈。如何 如何确定主线程卡在哪里?
【问题讨论】:
-
使用 Debug + Break All 获取堆栈跟踪。在您的代码中搜索 DoEvents。
标签: c# multithreading visual-studio debugging