我正在使用Visual Studio 2010,在我的C ++ / CLI项目中有两个代码分析设置:
我的问题是关于第二种情况。
我启用了它,运行需要很长时间,而且找不到太多。
您是否建议启用此功能?为什么呢?
答案 0 :(得分:6)
您指定的两个选项分别控制托管和本机C ++上的代码分析的自动执行。
托管代码的代码分析由FXCop引擎分析生成的IL执行。
本地代码的代码分析在编译期间由PREFast引擎分析C ++源代码执行。
我强烈鼓励您要求您的开发人员在签入之前在其代码上运行CA.如果不这样做,您就是:
延迟确保您的代码没有已知漏洞的过程,否则系统会从您的产品来源中删除这些漏洞。
通过逐步学习他们应该不写作的代码及其原因,拒绝开发人员提高技能的权利。
将客户缩短,因为他们在使用您的产品时会遇到崩溃和安全问题。
此外,如果您正在编写原生C ++并且尚未计划使用SAL Annotations开始装饰您的代码,那么坦率地说,您工作地点的某个人应该被拖到街上并受到羞辱!在SAL注释的下一个版本中,很快就会出现一些伟大的内容 - 现在就开始吧,并且与竞争对手相比,方式在曲线之前! :)
答案 1 :(得分:2)
从来没有为我做过任何事情。从理论上讲,它应该有助于捕捉逻辑错误,但我从未发现它会报告任何内容。
答案 2 :(得分:2)
我们正在使用LINT为普通的C ++应用程序(没有.Net,没有C ++ / CLI)进行静态代码分析。 这与您使用的不同,但可能会应用相同的原则。
我们像这样执行LINT:
您还可以做的是对提交给版本控制系统的所有文件执行静态代码分析。例如。在Subversion中你可以在commit-trigger中执行此操作。