Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1457864
  • 博文数量: 596
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 173
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 15:50
个人简介

在线笔记

文章分类

全部博文(596)

文章存档

2016年(1)

2015年(104)

2014年(228)

2013年(226)

2012年(26)

2011年(11)

分类: 架构设计与优化

2013-05-12 16:18:31

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"

阅读(5364) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~