linux显示未显示的数据,在Linux中gcov没有显示任何覆盖数据

我试图在

Linux(Ubuntu)上使用gcov来查看每行源的执行频率.

我在gcc编译器和链接器标志中添加了以下标志,

CCFLAGS = -fprofile-arcs -ftest-coverage

LDFLAGS = -fprofile-arcs -lgcov

但在编译并运行程序后,我看不到创建了* .gcda文件.因此,当我跑

gcov --object-directory 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”.

希望有所帮助….

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值