GCOV 用法

CFLAGS="-fprofile-arcs -ftest-coverage"
LIBS="-lgcov"


1。GCOV
(1) 编译 CFLAGS CXXFLAGS LDFLAGS += "-fprofile-arcs -ftest-coverage -g -O0 -fPIC"
    gcc -fprofile-arcs -ftest-coverage -g -O0 -o test test.c
    生成.gcno文件(gcov note文件)
    备注:gcc -c 不会生成.gcda(交叉编译工具)
(2)运行程序
(2.1)环境准备
    默认会在test的编译路径生成.gcda(/work/build),如果不存在则生成.gcda失败
    通过设置GCOV_PREFIX=/tmp,则在/tmp/work/build生成.gcda
    通过设置GCOV_PREFIX_STRIP(默认0),消除路径,GCOV_PREFIX_STRIP=1,则在/build生成.gcda,默认是(/work/build)
    ./test
    生成test.gcda文件(gcov data文件)
(3) GCOV生成报告
    gcov test.c
    


2    .LCOV
(1) 编译 CFLAGS CXXFLAGS LDFLAGS += "-fprofile-arcs -ftest-coverage -g -O0 -fPIC"
    gcc -fprofile-arcs -ftest-coverage -g -O0 -o test test.c
    生成.gcno文件(gcov note文件)
    
1)lcov --zerocounters --directory . (.指向源码目录)
2)./test
3)lcov --capture --directory . --output-file trace_args.info  --test-name test --no-external
4)genhtml  trace_args.info --output-directory output --title "Basic example" --show-details  --legend

常用封装
export PERF_REPORT="perf report"
export PERF_RECORD_fgr0c1000="perf record -f -g  -r 0 -c 1000"
export PERF_RECORD_dfgr0c1000="perf record -f -g -d -r 0 -c 1000"
export PERF_ANNOTATE_lvP="perf annotate -l -v -P"

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(2508) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kelsel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值