如何在Visual Studio 2010调试器中查看后台线程

时间:2011-10-18 14:14:52

标签: c# multithreading visual-studio debugging

我试图找出应用程序关闭后窗口消失后应用程序进程在任务管理器中徘徊的原因。

当我让VS附加到僵尸进程并打破所有时,线程窗口显示主线程仍处于活动状态,并且还有许多工作线程。

有些问题:

  • 工作线程是否必然是后台线程?如果没有,我如何识别后台线程,因为我没有在窗口中看到这样的列?

    我只需双击线程窗口中的每个线程,并观察Thread.IsBackgroundThread值吗?

  • 当我点击主线程时,调试器不会显示调用堆栈。怎么样 确定主要线程卡在哪里?

1 个答案:

答案 0 :(得分:0)

我强烈要求你使用WinDbg。它不是一个可视调试器,虽然它更强大。 当然,我会把你弄清楚。 要列出进程中的所有线程,请使用:〜。
切换到某个线程~thread_ids。
看到一下固定螺纹!clr_stack。

简要教程。 http://www.codeproject.com/KB/debug/windbg_part1.aspx

也可以在谷歌“使用windbg”支持Asp.net“