gpt4 book ai didi

linux - gcov 没有显示任何覆盖率数据

转载 作者:IT王子 更新时间:2023-10-29 00:32:55 28 4
gpt4 key购买 nike

我正在尝试在 Linux(Ubuntu) 上使用 gcov 来查看每行源代码的执行频率。

我已将以下标志添加到我的 gcc 编译器和链接器标志中,

CCFLAGS =  -fprofile-arcs -ftest-coverage
LDFLAGS = -fprofile-arcs -lgcov

但是在编译和运行程序之后,我没有看到创建 *.gcda 文件。因此,当我运行

gcov  --object-directory <path to the *.gcno/*.gcda files> myfile.cpp 

显示错误:

myfile.gcda:cannot open data file, assuming not executed
File '../../../../../code/myfile.cpp'
Lines executed:0.00% of 2625

我是不是漏掉了什么。如何解决这个问题?

最佳答案

您可以在代码中使用 __gcov_flush() 方法。您需要从已注册的信号处理程序中调用它。

参见:

https://www.osadl.org/fileadmin/dam/interface/docbook/howtos/coverage.pdf

使用它,您可以保持服务运行并在需要转储覆盖率数据时发出“kill”命令。

希望对您有所帮助....

关于linux - gcov 没有显示任何覆盖率数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957649/

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