相关疑难解决方法(0)

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

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

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

由于这些方法中没有任何一种方法可以锁定,因此可以肯定的是,未来的事情将会出现严重错误.我需要一个工具,它递归地遍历调用这些方法之一的东西,看看是否有任何东西在另一个线程上产生.

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

.net c# multithreading static-analysis ndepend

40
推荐指数
1
解决办法
2万
查看次数

StyleCop可以自动修复任何东西吗?

我决定开始在一个中等规模的项目上运行StyleCop,并收到超过1000个警告.

有没有一种快速简便的方法来解决大多数这些警告?大多数警告可以很容易地自动解决,并节省了我很多时间.

stylecop shortcut visual-studio-2008

25
推荐指数
4
解决办法
1万
查看次数

C#的源代码分析工具

可能重复:
C#可以使用哪些静态分析工具?

大家好,我正在为C#寻找开源或免费的源代码分析工具.该工具应该能够从源代码生成度量标准,如圈复杂度,行数,注释行数,SEI可维护性等.有没有人知道任何这样的工具?

c#

16
推荐指数
3
解决办法
4万
查看次数

是否有自动工具来查找代码库的DRY-ness?

我是DRY原则的坚定拥护者:

每一段知识都必须在系统中具有单一,明确,权威的表示.

是否有任何工具可以测试干燥量的代码库,并量化和确定具体的修正示例?

dry

12
推荐指数
1
解决办法
1343
查看次数

在.NET中查找用于并发的静态代码分析工具,如CheckThread for java

我采取的C#.NET并行数据结构(如ConcurrentDictionary,BlockcingCollection等).这不仅仅是在从不同线程访问时忘记锁定对象.它需要复杂的锁定策略来最大化并行执行时间.

我知道有一个工具,一种用于.NET的系统并发测试的框架,名为CHESS.

问题:是否还有一种工具可以通过静态代码分析找到并发/线程问题?类似CheckThread的东西,适用于java.

.net c# multithreading task-parallel-library

10
推荐指数
1
解决办法
2719
查看次数

适用于.NET的TeamCity静态代码分析工具

我最近在TeamCity花了很多时间,重复查找器和FxCop构建跑步者非常棒.我还在StyleCop的项目中有了构建目标,因此违反了这些规则,我已经集成了NDepend,它产生了一些很好的指标.

人们还有哪些其他工具可以与TeamCity成功集成?有很多可以集成到IDE中或在本地运行(如本问题中所述),如ReSharper,但显然要在构建服务器上运行,它需要能够无人值守地执行并生成可在构建报告中浮出水面的工件.到目前为止我可能错过了什么选择?

.net teamcity code-analysis

9
推荐指数
1
解决办法
2911
查看次数

是否有.Net/C#工具来捕获类之间的*运行时*依赖关系?

我可以使用什么工具.Net/C#项目来捕获类之间的运行时依赖关系?我发现这个问题非常有用,但建议的工具捕获静态依赖图.我只是想看看类的实例化图.

我正在使用VS 2008(但如果需要可以安装其他版本).

UPD:我的目标是这样的.我有很大的旧代码库.它有(例如)500个类但由于DB驱动的工作流程多年来发生了变化(例如)现在使用了100个类.这就是静态依赖性分析太难以消化的原因.

c# code-analysis static-analysis dynamic-analysis

8
推荐指数
1
解决办法
1325
查看次数

程序在VS 2008中切片

任何人都有任何想法或经验使用程序切片技术来调试MS Visual Studio 2008中的OO项目?工具建议会有所帮助.

debugging visual-studio-2008

6
推荐指数
1
解决办法
608
查看次数

静态分析工具在访问变量之前检查锁定

我知道有很多针对C#或.Net的静态分析工具.请参阅此问题以获取可用工具的良好列表.我过去曾使用过其中的一些,他们有很好的方法来检测问题.

我目前正在寻找一种方法来自动执行我们团队中的一些锁定规则.例如,我想强制执行以下规则:

"使用会员每一个公共方法FOO必须获得的锁 "或"每次调用foob​​ar的事件必须在外面锁 "

如果可行,编写自定义FxCop规则似乎相当复杂.有没有更简单的方法呢?

.net c# multithreading static-analysis

6
推荐指数
1
解决办法
404
查看次数

我可以为我自己的类定义C#别名/关键字,如int,string,object吗?

不是关于using foo = MyPackage.Foo;

我意识到这更多地与IDE(Visual Studio 2010)有关,它向我展示了蓝色的特殊类型.我想我的一些课程.我希望它是蓝色的 (呈现为特殊的)并且可以在整个项目中访问.

原因是我想给他们意义/重要性,以便我的团队中的每个人都知道这个课程是整个项目的关键课程.

// "foo" and "Foo" shall be just the same type:
foo:     MyPackage.Foo

object:  System.Object
string:  System.String
bool:    System.Boolean
byte:    System.Byte
sbyte:   System.SByte
short:   System.Int16
ushort:  System.UInt16
int:     System.Int32
uint:    System.UInt32
long:    System.Int64
ulong:   System.UInt64
float:   System.Single
double:  System.Double
decimal: System.Decimal
char:    System.Char
Run Code Online (Sandbox Code Playgroud)

那可能吗 ?如果我的IDE安装中有一个文件,里面会有上面的关键字,我可以添加一些关键字并保存并重新启动IDE?

要有两个班级,我可以这样做.这是同一个班级的两个名字.我知道我需要在这些之间施展.

public class foo : Foo
{ }
Run Code Online (Sandbox Code Playgroud)

c# alias types visual-studio

6
推荐指数
2
解决办法
1819
查看次数