有没有一个工具可以分析.NET代码并找到竞争条件?
我有一些代码,它有一个公共静态属性,可以获取或创建一个私有静态字段.它还有一个公共静态方法,将此字段设置为null(...是的,我知道!..)
由于这些方法中没有任何一种方法可以锁定,因此可以肯定的是,未来的事情将会出现严重错误.我需要一个工具,它递归地遍历调用这些方法之一的东西,看看是否有任何东西在另一个线程上产生.
我正在寻找一个工具或者一个nDepend SQL脚本(如果可能的话).
基本上我有ac#server程序(不在IIS中的控制台应用程序)偶尔会进入死锁状态.
有一件事很奇怪,当我连接调试器时,我看到3个线程正在等待一个锁,但锁内没有线程(使用visual studio中的线程窗口)!这里发生了什么......我猜视觉工作室调试器正在撒谎.
但无论如何......我应该使用哪些技术或工具?
谢谢