假设我当前在/home/testUser/gcovTest/test1/
目录中,我有一个文件test.c
,该文件由gcc -fprofile-arcs -ftest-coverage test.c
编译,该文件生成了相关的.gcda and .gcno
文件。
成功编译后,我执行生成的二进制文件./a.out
并运行以下命令来生成.gcov
报告。
gcov -p test.c
生成的test.c.gcov
文件应该在test.c
标记中包含home/testUser/gcovTest/test1/test.c
的完整路径,即source:
,但实际上它仅包含test.c
如何让gcov在test.c
文件中保留test.c.gcov
的完整路径?
我什至尝试了以下方法,但它仍在test.c
的源中打印test.c.gcov
gcov -p home/testUser/gcovTest/test1/test.c
答案 0 :(得分:3)
-p
的{{1}}开关在输出文件名中保留输入文件的路径。也就是说,
gcov
生成文件gcov -p /foo/bar/baz.c
而不是简单地生成#foo#bar#baz.c.gcov
-但是文件的内容是相同的。
baz.c.gcov
生成源文件名,如.gcov
报告中所示。如果您希望完整路径包含在报告中,只需在编译命令行上指定完整路径即可:
gcc