您的位置:首页 > Web前端 > HTML

gcov、lcov与genhtml

2015-03-27 11:11 169 查看
original url: http://blog.sina.com.cn/s/blog_7e4ac8b501018b27.html
gcc是linux平台下的C、C++ 编译器

gcov是配合gcc产生覆盖信息报告的工具;

lcov是将gcov产生的报告信息,以更直观的方式显示出来工具

基本的使用方法分为4个阶段:

(一)、gcc编译:产生插装后的目标文件test、gcov结点文件 test.gcno

#gcc -fprofile-arcs -ftest-coverage -o test test.c

# ls

test test.c test.gcno

说明:参数 fprofile-arcs 和
ftest-coverage 告诉gcc编译器:(1)在目标文件test插装跟踪代码;(2)生成供gcov使用 test.gcno [gcov node 文件]。

因此,这里的生成的目标文件比正常编译的文件大。

(二)、运行目标文件:收集运行覆盖信息 test.gcda

#./test

Success -- 这里是运行结果。

# ls

testtest.c test.gcno test.gcda

这里test.gcda运行结果,

(三)、gcov产生报告信息: test.c.gcov

#gcov test.c

File'test.c'

Linesexecuted: 87.50% of 8

test.c:creating 'test.c.gcov'

#ls

testtest.c test.c.gcov test.gcdatest.gcno

(四)、lcov:格式化test.c.gcov ,输出到test.info文件

#lcov -d . -t 'test' -o'test.info' -b . -c

说明:

-d . :参数d指路径, "." 指当前路径

-t "name":指目标文件,这里 是 test

-o "filename" :输出格式化后的信息文件名

(五)、genhtml:根据信息文件(.info)产生html文档,输出到一个文件夹中

#genhtml -o result test.info

说明:-o directory :参数o(output)后面跟路径名称,在当前目录下创建指定目录,本例中是result

至此: 可以在result目录中打开index.html浏览覆盖信息

=======================================================

For qemu-kvm, just --enable-gcov when ./configure, is ok..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: