gpt4 book ai didi

c++ - 在并行运行中使用 gcov 的代码覆盖率

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:26 24 4
gpt4 key购买 nike

我使用 gcov 为项目中的多个文件设置了 C/C++ 代码覆盖率。可执行文件正在并行运行。这会导致一些共享代码并行运行。

我收到损坏的 .da 文件或零大小的 .da 文件。这是并行运行的问题吗?

因为两个或多个可执行实例正在尝试写入同一个 .da 文件以写入执行中每个语句的覆盖率计数?

如果是这样,有什么解决方法吗?

正在使用的 Gcov 版本是 1.5

最佳答案

我有类似的需求,我通过设置 GCOV_PREFIX 环境变量解决了它。

根据documentation :

GCOV_PREFIX contains the prefix to add to the absolute paths in the object file. Prefix can be absolute, or relative. The default is no prefix.

GCOV_PREFIX 设置为自定义目录,对于每个可执行文件+执行都是唯一的,将强制运行时在指定目录中生成“.gcda”,而不是使用编译目录(其中'.gcno' 是)。

所有执行完成后,您将能够使用它们生成合并运行报告。

关于c++ - 在并行运行中使用 gcov 的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14643589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com