哪些工具可用于针对C#代码进行静态分析?我知道FxCop和StyleCop.还有其他人吗?我之前遇到过NStatic,但是它一直处于开发阶段,看起来像是永远的 - 它看起来很漂亮,看起来很少见,所以如果它能看到光明的一天会很好.
沿着这些相同的路线(这主要是我对静态分析的兴趣),用于测试多线程问题(死锁,竞争条件等)代码的工具似乎也有点稀缺.刚出现了Typemock Racer,所以我会看着它.除此之外还有什么?
关于您使用的工具的现实意见表示赞赏.
可能重复:
C#/ .NET分析工具,用于查找竞争条件/死锁
我正在调试一个应用程序,我怀疑它正在陷入僵局并挂起.但是,这只会每隔几天发生一次,并且它永远不会发生在我的计算机上,因此我无法将调试器挂钩.是否有任何实用程序或方法可以用来查询正在运行的应用程序,并找出哪些方法/锁定/它是什么死锁?
更新:通常,应用程序在客户位置运行,我无法访问该计算机,并且我不太愿意让他们安装大量软件.
我在5分钟后接受采访,我没有回答3个问题,有人可以帮助我.
题:
如何在多线程应用程序函数中查找死锁场景并防止它?
我给的答案:
我给出了死锁和锁,mutex,监视器,信号量的定义.他告诉我,这些是工具,但是如何寻找死锁场景,因为当我们盲目地使用这些工具时,它会花费他所说的性能:(
请帮我理解这个.
我采取的C#.NET并行数据结构(如ConcurrentDictionary
,BlockcingCollection
等).这不仅仅是在从不同线程访问时忘记锁定对象.它需要复杂的锁定策略来最大化并行执行时间.
我知道有一个工具,一种用于.NET的系统并发测试的框架,名为CHESS.
问题:是否还有一种工具可以通过静态代码分析找到并发/线程问题?类似CheckThread的东西,适用于java.