C# 有哪些工具可用于测试多线程.net代码?

C# 有哪些工具可用于测试多线程.net代码?,c#,.net,multithreading,unit-testing,C#,.net,Multithreading,Unit Testing,在测试多线程.net代码时,是否有任何工具可以帮助查找竞争条件?我正在寻找与IBM的Java工具具有类似功能的工具。可能是您正在寻找的工具,但我没有使用它-我只记得一些关于死锁的信息:) 或者这个:这是微软研究院提供的,听起来他们有一个工具可以完全满足我的需求。不幸的是,目前还没有.net版本,但已经计划好了。引用网站: 国际象棋是一种自动的查找工具 多线程软件中的错误 螺纹的系统探索 时间表。它会发现错误,例如 数据争用、死锁、挂起和 数据损坏导致的访问 违法行为,这是极难纠正的 使用当前的测

在测试多线程.net代码时,是否有任何工具可以帮助查找竞争条件?我正在寻找与IBM的Java工具具有类似功能的工具。

可能是您正在寻找的工具,但我没有使用它-我只记得一些关于死锁的信息:)

或者这个:

这是微软研究院提供的,听起来他们有一个工具可以完全满足我的需求。不幸的是,目前还没有.net版本,但已经计划好了。引用网站:

国际象棋是一种自动的查找工具 多线程软件中的错误 螺纹的系统探索 时间表。它会发现错误,例如 数据争用、死锁、挂起和 数据损坏导致的访问 违法行为,这是极难纠正的 使用当前的测试工具查找。一旦 国际象棋定位一个错误,它提供一个 完全可重复执行 导致错误的程序,因此 大大有助于调试过程。 此外,国际象棋提供了一个宝贵的机会 以及测试覆盖率的新概念 适用于多线程程序。 CHESS可以使用现有的并发测试 案例,因此易于部署。 开发人员和测试人员都应该 发现国际象棋有用

你看过(www.debuginspector.com)吗


它有托管和非托管死锁,涵盖WaitForSingleObject和WaitForMultipleObject,适用于XP和Vista。有一个很棒的windbg扩展,由Steve Johnson编写,名为sosex,它有一个死锁查找命令。你可以在找到它,你可以阅读更多关于它 在这里:
这里:。

微软的工具目前还不可用(可能还需要一段时间)。它现在可用,但还不适用于VS2010或VS2012。它只是查找运行时死锁,很容易找到;因为如果你有一个,你的程序会完全停止,你只需要看看所有的堆栈。