背景
我正在使用python工具gcovr为我的一些c++项目生成覆盖率数据。我能够毫无问题地获得覆盖率数据,但由于工具查找我的源文件时出现问题,我无法看到涵盖了哪些代码行。
在检查了gcovr生成的XML数据之后,我意识到这个工具找错了覆盖信息的目录。在这种情况下,我指定了源文件的根,这是gcovr文档指定的。
# gcovr ... --object-directory=/some/path -r /some/path 但是,当我为源文件指定目录时,gcovr会进入无限循环。
问题
是什么导致了这个无限循环,我需要做什么来指定我的源文件所在的目录?
如果需要任何额外的信息来解决这个问题,我愿意提供我所能提供的。
发布于 2014-07-06 04:55:15
这个问题在gcovr 3.2中得到了解决。
发布于 2014-06-27 19:44:33
在gcovr 3.1中有一个记录在案的bug,用于处理"-r“(或”-root=“)选项。这个错误导致gcovr从"/“级别搜索gcda文件,这需要很长时间。修复方法是在第1828行用方括号包围参数"options.root“,即get_datafiles(options.root)。有关更多信息,请参考https://github.com/gcovr/gcovr/pull/27。
为了获得gcovr 3.1以便在目录树中的源文件高于对象(和gcno)目录时正确设置源链接,我必须将修正应用于问题27 (根无限循环)、42 (修复gcov不正确的相对路径)和49 (gcovr无法找到带有gcov 4.8.2的源文件)。下面是我的源区域的一个视图:
src/foo/*..cc
src/foo/..obj/变体/*.o
https://stackoverflow.com/questions/23775116
复制相似问题