首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++代码覆盖率工具

C++代码覆盖率工具
EN

Stack Overflow用户
提问于 2010-06-12 01:55:11
回答 4查看 1.9K关注 0票数 3

我正在寻找c++代码覆盖工具,在多服务器设置和在没有许可问题的windows和linux上表现良好(如果不免费)。

这些建议或其他建议有什么缺点吗?

EN

回答 4

Stack Overflow用户

发布于 2010-06-12 02:16:49

虽然我不记得我研究代码覆盖工具的所有细节,但我似乎记得关于gcov和covtool的以下内容:

  • 它们需要对生成系统进行自定义修改
  • 它们需要自定义编译器标志和/或链接步骤
  • 它们都提供最少的输出和格式化

我们需要对Windows/Linux和gcc/MSVC的支持,最终选择了商业的、非免费的BullseyeCoverage。我们估计,与支付BullseyeCoverage许可证相比,更改构建系统以使用免费产品将花费更多的金钱。他们的支持是伟大的和响应式的,我对工具的质量非常满意。

一些好处:

Hudson form

  • Required在命令行和图形用户界面中的强大查询支持对构建系统的任何更改

  • 对编译时间和运行time

  • Provides工具的影响都很小,以便与构建机器人(如CruiseControl和

)集成,从而实现覆盖结果的可视化和导航<代码>F222

票数 1
EN

Stack Overflow用户

发布于 2010-06-15 00:00:15

AQTime在Delphi/C++Builder用户中很流行,但像其他建议一样,它不是免费的。

票数 0
EN

Stack Overflow用户

发布于 2015-03-26 02:02:58

OovAide程序是一个免费的开源工具,它将检测源文件,生成代码覆盖率统计数据,并显示哪些行从未运行过。它是线程安全和高效的。

这是相当透明的,这意味着它生成的代码都是可见的,如果有特殊需求,可以为您的项目进行修改。

源代码修改的基本思想是在CLang正在处理的AST中的每个语句分组处插入一个宏。这通常是在条件句之后或在大括号处。宏可以修改,但默认情况下,它会在数组中的偏移量处递增一个值。我还修改了它,以便在某些情况下写入文件,这允许程序跟踪执行情况。

一个问题可能是它的构建系统是有限的,并且必须能够使用CLang构建。它可能在某些类型的项目上不起作用。但是因为它只是通过插入宏来修改源代码,所以可以使用它来修改源代码,然后使用现有的构建系统来构建修改后的源代码。

这里有一个文档描述了它是如何工作的。http://oovaide.sourceforge.net/articles/TestCoverage.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3025049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档