查看Visual Studio中的锁定

时间:2013-10-01 16:08:11

标签: .net wpf visual-studio-2012 locking deadlock

我正在尝试调试一个可以正常工作的多线程应用程序,除了它半随机停止做任何事情然后无限期挂起。暂停和检查调用堆栈什么也没有显示,因为它只显示外部代码(在GUI线程上)。

这绝对闻起来像我的僵局,但我甚至无法弄清楚原因是什么。

我正在尝试使用Visual Studio中的内置性能工具,但是我没有找到任何对我有用的数据。我已经尝试过Concurrency Visualizer和Resource Contention工具。程序挂起后,除了GUI线程的正常基线外,这些工具都不显示任何线程上的活动。我无法找到一种方法来查看线程正在等待的锁(如果有的话)。

对于给定的时间点,能够看到哪些线程持有哪些锁,哪些线程正在等待什么锁,以及这些调用来自代码的位置,真正有用的是什么。

有没有办法在Visual Studio中执行此操作,如果没有,是否有其他可能有用的工具?

0 个答案:

没有答案