作为最佳实践,您是在调试和发布版本上运行代码分析,还是只运行其中一个?
答案 0 :(得分:2)
如果出于某种原因,这两个版本是不同的(并且它们实际上不应该用于静态分析目的),那么您应该确保您的指标针对实际生产的内容进行运行。
理想情况下,您应该拥有CI服务器,并且开发人员用于启动此类分析的命令与CI服务器的功能没有区别。
答案 1 :(得分:1)
我通常选择一个,那个是发布版本。我想这并不重要,但我倾向于认为,当收集有关生产中运行的信息时,最好是完全将要生产什么(这适用于分析,分析,基准测试等等。)。
答案 2 :(得分:1)
静态代码分析都会显示相同的结果。
Debug / Release仅在运行时更改生成的程序集以及包含或排除调试信息。
答案 3 :(得分:1)
我没有单独的'debug'和'release'版本(参见Separate ‘debug’ and ‘release’ builds?)。
答案 4 :(得分:0)
LLVM人员实际上建议分析DEBUG配置:
总是在" debug"中分析项目。构造强>
大多数项目都可以在" debug"启用断言的模式。 静态分析器会提取断言以修剪不可行 路径,在某些情况下可以大大减少虚假的数量 工具发出的正面(虚假错误报告)。
此外,调试版本往往更快(不需要优化),而在CI世界中,速度更快(其他条件相同)。