是否有分析 .NET 代码并发现竞争条件的工具?
我有一些代码具有获取或创建私有(private)静态字段的公共(public)静态属性。它还具有一个公共(public)静态方法,可将此字段设置为 null(...是的,我知道!...)
由于这两种方法都没有锁定,所以可以肯定的是,将来事情会变得非常糟糕。我需要一个工具来递归地检查调用这些方法中的任何一个的东西,并查看是否在另一个线程上产生了任何东西。
我正在寻找一个工具或者一个 nDepend SQL 脚本(如果可能的话)。
最佳答案
您可能正在寻找其中之一:
注意:此答案来自 2010 年。与所有建议答案一样,建议往往会随着时间而改变。现在可能还有其他产品,作为 Microsoft Research Labs 项目的 CHESS 可能已经发展成为最终产品或完全废弃。请对这个答案持保留态度,并针对现在适合的产品进行新的研究。
关于用于查找竞争条件/死锁的 C#/.NET 分析工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2379610/