C#/.NET分析工具,用于查找竞争条件/死锁

有没有一个工具可以分析.NET代码并找到竞争条件

我有一段代码,它有一个公共静态属性,可以获取或创建一个私有静态字段。它还有一个公共静态方法,将此字段设置为null(…是的,我知道!)

由于这两种方法周围都没有锁,所以可以肯定的是,将来事情会变得非常糟糕。我需要一个工具,它将递归地遍历调用这两个方法中的任何一个,并查看是否有任何东西是在另一个线程上产生的

我正在寻找一个工具或者一个独立的SQL脚本(如果可能的话)

您可能正在寻找其中一种:

  • 象棋
  • 模拟打字机

注意:这个答案来自2010年。与所有建议答案一样,建议往往会随着时间的推移而变化。现在可能还有其他产品,CHESS是微软研究实验室的一个项目,它可能已经演变成最终产品,或者被完全废弃。请恕我直言,现在就对哪些产品合适进行新的研究

发表评论