.net挂在Application.DoEvents上

时间:2011-05-11 18:56:00

标签: .net hang doevents

我们的一个遗留产品是Winforms应用程序,它不是使用后台线程,而是在主UI线程上执行所有操作。它在这个主线程上运行一个常量循环,每20 ms调用一次Application.DoEvents()。偶尔,应用程序会在DoEvents调用时挂起。我的问题是如何找出代码挂起的排队事件调用?

P.S。有人知道我可以用来获取进程中每个线程的堆栈跟踪的工具吗?

此外,这只发生在一个生产客户端,我们现在得到解决方案。也不可能在客户端安装VS.

2 个答案:

答案 0 :(得分:2)

您可以在visual studio中执行此操作,只需附加到进程,中断执行并打开线程窗口。

菜单:调试 - > Windows->主题

答案 1 :(得分:0)

我找到了我正在寻找的工具。 WinDbg

它可以获取当前正在运行的Windows进程的堆栈跟踪。但是它确实需要该应用程序的PDB文件。