GCC Coverage代码分析-从GCC源码中抽取gcov/gcov-dump程序

本文介绍了如何从GCC源代码中抽取并编译gcov和gcov-dump程序,详细阐述了所需文件、配置过程及makefile编写,旨在帮助开发者更方便地研究和调试代码覆盖率工具。
摘要由CSDN通过智能技术生成

本博客(http://blog.csdn.net/livelylittlefish)贴出作者(阿波)相关研究、学习内容所做的笔记,欢迎广大朋友指正!

Content

0.

1. gcov

1.1 gcov必须的文件

(1) 实现文件

(2) 版本文件

(3) 配置文件

(4) 系统文件

1.2如何编译生成gcov

2. gcov-dump

3. gcov-tools

4. 小结

Reference

附:本文代码下载地址

 

 

0.

 

若想研究gcov/gcov-dump原理或者代码,深入函数内部跟踪调试是最好的理解方式,但gcc的源代码毕竟比较庞大,欲从中抽丝剥茧,往往会被gcc的庞大源代码吓住。那么,有没有一种方式,允许我们从gcc的源代码中抽取想要研究的程序或代码?

 

有!

 

本文以gcov程序为例,说明如何从GCC源代码中抽取gcov/gcov-dump程序并编译生成可执行的程序。有了这个独立的gcov/gcov-dump,研究、调试很方便。想搞清楚gcc的内部机理,并非一朝一夕之功,本文只是一种探索,希望对一些想研究gcc coverage test的朋友有些帮助。余愿足矣。

 

本文gcc源代码版本为gcc-4.1.2,其位置在/usr/src/gcc-4.1.2目录,.表示/usr/src/gcc-4.1.2

 

1. gcov

 

gcov程序的输入是一个.c文件,前提是已经编译生成了.gcno文件并运行可执行程序生成.gcda文件;gcov根据.c文件相应的.gcda文件和.gcno文件生成相应的.c.gcov并报告覆盖率测试结果。

 

1.1 gcov必须的文件

 

(1)实现文件

 

根据"Linux平台代码覆盖率测试-GCC如何编译生成gcov/gcov-dump程序及其bug分析"一文的讨论,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值