在测试多线程.net代码时,是否有任何工具可以帮助查找竞争条件?我正在寻找与IBM的ConTest Java工具具有类似功能的东西。
答案 0 :(得分:3)
Typemock Racer可能是您正在寻找的但我没有使用它 - 我只记得有关死锁的事情:)
答案 1 :(得分:2)
来自Microsoft Research的这个announcement听起来像是有一个工具可以完全符合我的要求。不幸的是,还没有.net版本,但有一个计划。引用该网站:
CHESS是一种自动查找工具 多线程软件中的错误 系统探索线程 时间表。它发现错误,例如 数据争用,死锁,挂起和 数据损坏引起的访问 违规,这是非常难的 找到当前的测试工具。一旦 CHESS找到一个错误,它提供了一个 完全可重复执行 程序导致错误,因此 大大有助于调试过程。 此外,CHESS提供了宝贵的价值 和测试覆盖的新概念 适合多线程程序。 CHESS可以使用现有的并发测试 案例,因此易于部署。 开发人员和测试人员都应该 找到CHESS很有用。
答案 2 :(得分:1)
你见过Debug Inspector(www.debuginspector.com)吗?
它有托管和非托管死锁,涵盖WaitForSingleObject和WaitForMultipleObjects,适用于XP和Vista
答案 3 :(得分:1)
有一个伟大的windbg扩展,由Steve Johnson编写,称为sosex,它具有死锁查找命令。您可以在http://www.stevestechspot.com/downloads/sosex_32.zip找到它,您可以阅读更多相关信息 在这里:http://www.stevestechspot.com/SOSEXANewDebuggingExtensionForManagedCode.aspx 在这里:http://www.stevestechspot.com/SOSEXUpdatedV11Available.aspx。