gpt4 book ai didi

c++ - 是否可以使用 gcov 测量函数覆盖率?

转载 作者:可可西里 更新时间:2023-11-01 17:20:41 25 4
gpt4 key购买 nike

目前,我们将 gcov 与我们的 Linux C++ 应用程序测试套件一起使用,它在测量线路覆盖率方面做得很好。

除了行覆盖之外,gcov 能否生成函数/方法覆盖报告?

查看 gcov 接受的参数,我认为这是不可能的,但我可能遗漏了一些东西。或者,是否有任何其他工具可以根据 gcc 生成的统计信息生成函数/方法覆盖率报告?

更新:函数/方法覆盖率是指在测试期间执行的函数的百分比。

最佳答案

我猜你的意思是 -f 选项,它会给你每个函数覆盖的行的百分比。在 Dr. Dobb's 有一篇关于 gcov 的有趣文章这可能会有所帮助。如果“man gcov”没有显示 -f 标志,请检查您是否有最新版本的 gcc 套件。

编辑:要获得未执行函数的百分比,您可以简单地解析函数覆盖率输出,因为 0.00% 的覆盖率应该几乎等同于未调用。这个小脚本打印未执行函数的百分比:

#!/bin/bash

if test -z "$1"
then
echo "First argument must be function coverage file"
else
notExecuted=`cat $1 | grep "^0.00%" | wc -l`
executed=`cat $1 | grep -v "^0.00%" | wc -l`

percentage=$(echo "scale=2; $notExecuted / ($notExecuted + $executed) * 100" |bc)

echo $percentage
fi

关于c++ - 是否可以使用 gcov 测量函数覆盖率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/534201/

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