【问题标题】:how to validate the .c file has correspnding gcno or gcda files如何验证.c文件是否有对应的gcno和gcda文件
【发布时间】:2016-09-06 22:18:33
【问题描述】:
我有一个问题。
有什么方法可以验证 .c 文件是否生成了相应的 .gcno 和 .gcda 文件。
例如:
我有一个 sample.c 文件。现在我生成 .gcno 和 .gcda 文件。
再次修改 sample.c 文件,但我没有为修改后的 .c 文件生成最新的 gcda 和 gcno 文件。
有什么方法可以验证 sample.c 是否生成了相应的 .gcno 和 gcda 文件?
【问题讨论】:
标签:
code-coverage
gcov
gcovr
【解决方案1】:
没有具体的方法,但人们遵循的通常约定是在执行完成后将覆盖率数据存储到与执行相关的文件中,然后仅删除“.gcda”文件。
这使您能够执行不同的执行并生成覆盖范围,而无需重新编译所有内容。
在您的情况下,您可以简单地搜索相关的“.gcno”文件并将其删除,以便您可以在修改后重新编译。即使您不删除gcno,它也会被覆盖,不像“. gcda”文件被附加。
您需要知道的另外一件事是:如果您尝试通过 gcov 从 gcda 和 gcno 文件生成覆盖率数据,那么它会提示您 xyz 源文件比相应的 gcno 文件更新。