1

我正在尝试使用现有代码库配置 gcov 以实现代码覆盖。现有代码库是基于服务的代码库(即包含多个文件 c 和 cpp 以及一项服务)

我已经关注了配置 gcov 的 wiki 页面,并将 -fprofile-arcs -ftest-coverage 添加到 makefile 中。当我编译服务时,它只生成一个 gcno 文件,该文件有一些名称(BS-42e6.gcno)。

根据 wiki 页面,gcov 应该为每个 c 和 cpp 文件(如 test.c.gcno 和 test1.cpp.gcno)生成 gcno 文件,但我有一个 gcno 文件。

我不知道如何进一步处理 gcno 文件。

该服务存在于基于 xml 的框架中。所以我们从 xml 传递输入,框架对输入参数进行编组和解组,并传递 c 或 cpp 文件。

所以我对测试gcov文件有疑问。根据wiki页面,我们从编译中得到a.out,我们运行a.out并生成相应的文件。但就我而言,我将如何进一步进行。

如果我需要提供更多信息,请告诉我

http://gcc.gnu.org/onlinedocs/gcc/Gcov.html http://www.ecoscentric.com/ecospro/doc/html/ref/gcov.html http://codingfreak.blogspot.in/2009/ 02/gcov-analyzing-code-produced-with-gcc.html

4

1 回答 1

1

经过长时间的调试,当我们在编译期间传递 gcov 参数(-fprofile-arcs -ftest-coverage)时,我发现了问题。当我在链接期间传递这些参数时,我能够成功生成 gcno 文件。仅供其他参考

于 2012-05-09T17:08:14.600 回答