在VS2010中是否有适用于C#.NET的并发调试工具

时间:2011-09-15 08:40:58

标签: c# concurrency tdd race-condition visual-studio-debugging

在我正在进行的项目中,我们正在进行一项未知数量的闪烁测试,这些测试以不同的速率失败(从每隔一次运行到每5000次运行一次),这使我们相信我们有一些严重的Heisenbugs解决。大多数时候,包括代码中的跟踪语句都会改变时间,足以消除这些错误,或者至少使它们不经常发生,但显然这不是一个有效的错误修复。

我们想知道是否有任何工具similair到CHESS(http://research.microsoft.com/en-us/projects/chess/download.aspx)可以在Visual Studio 2010中工作以压力测试应用程序和检测潜在的竞争条件和死锁?

2 个答案:

答案 0 :(得分:2)

在Visual Studio 2010中(确切地说不确定哪些版本),您可以使用“并发”选项创建新的性能分析会话。这应该可以检测到您正在寻找的死锁。然后,您可以配置单元测试以自动执行多次运行。

无法找到很多结果图片,但这里有一个例子example http://i.msdn.microsoft.com/ee336027.Shafi_Figure2(en-us,MSDN.10).png

答案 1 :(得分:2)

另一个工具仅来自Microsoft Research,您可以从Codeplex下载它 - chesstool.codeplex.com。它支持.Net 4.0库,下一版Chess,但我不知道你能够使用它。