0

我正在尝试使用 Gcovr 生成 C 程序结果的 HTML 文件。我已经安装了 gcov(通过 MinGW)、Python、easy_stall 和 gcovr。C:\MinGW\bin将,C:\Python33和添加C:\Python\Scripts到 Windows PATH。

现在我遇到的问题(在 Windows 命令行中):

1.gcovr 命令

c:\Python33\Scripts在使用命令执行之前,无法从任何目录中找到/执行 gcovr python gcovr

临时修复,重命名gcovrgcovr.py?但这听起来不是正确的解决方案。

2.执行gcovr

我打电话时没有结果:

c:\Python33\Scripts>python gcovr -r "d:\somepath\Debug"
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
------------------------------------------------------------------------------
TOTAL                                          0       0    --%
------------------------------------------------------------------------------

但是 gcov 给出了正确的结果。

D:\somepath\Debug>gcov some_file.gcda
File '../some_file.c'
Lines executed:21.43% of 14
Creating 'some_file.c.gcov'

我需要做什么才能获得正确的结果?

4

4 回答 4

0

尝试不带-r选项运行相同的命令,即:

c:\Python33\Scripts>python gcovr "d:\somepath\Debug"

于 2013-11-18T14:16:58.227 回答
0

我有同样的问题。我确实用以下方法解决了它。

转到项目的根(主)目录。

要以表格格式生成输出,请在命令提示符下,给出生成覆盖范围的命令

1)表格格式

     "python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file>"

2) XML 格式

   "python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> -x -o <desired_name.xml>"

3)HTML格式

   "python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> –-html -o <desired_name.html>"
于 2015-06-22T09:01:59.103 回答
0

这篇文章可能会解决您的问题。

GCOVR 在 MAC 中给出空结果的百分比为零

于 2016-08-12T11:58:10.587 回答
0

有同样的问题。

问题是您的源文件不在根文件夹“下方”,默认情况下 gcovr 会过滤它。

如果你打电话

python gcovr -r "d:\somepath\Debug" --verbose

你会注意到这条线

Filtering coverage data for file ../some_file.c

一个简单的解决方法是添加一个过滤器选项:

python gcovr -r "d:\somepath\Debug" --verbose -f .*

来自 gcovr 帮助:

-f FILTER, --filter=FILTER 只保留匹配这个正则表达式的数据文件

gcovr 文档没有提到的是,如果您不提供过滤器,它将使用根路径作为默认过滤器。

希望它会帮助某人。

于 2017-09-27T13:28:21.157 回答