文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发PHP 学院 → gcov-dump原理分析_Linux平台代码覆盖率测试

gcov-dump原理分析_Linux平台代码覆盖率测试

时间:2011/7/12 8:18:44来源:本站原创作者:清晨我要评论(0)

11 页 总结


4. 总结

本文详细叙述了 gcov-dump 程序的结构和实现原理。也从中学习了其处理各种 tag 用到的 callback 方法,如果你想深入跟踪或学习 gcc 源码,请注意 callback 的使用,因为 gcc 源码中大量地使用了 callback 。

分析

2.1 gcov-dump 程序结构

2.2 dump_file 函数分析

2.3 处理各种 tag 的 callback 定义

2.4 基本读取函数 gcov_read_words

2.5 分配空间函数 gcov_allocate

2.6 重要数据结构 gcov_var

3. 处理 tag 的 callback 分析

3.1 FUNCTION tag: tag_function() 函数

3.2 BLOCKS tag: tag_blocks() 函数

3.3 ARCS tag: tag_arcs() 函数

3.4 LINES tag: tag_lines() 函数

3.5 COUNTER tag: tag_counters() 函数

3.6 OBJECT/PROGRAM SUMMARY tag: tag_summary() 函数

4 . 小结

  

1. 序

 

gcov 的相关文件 .gcda(data 文件 )/.gcno(note 文件 ) 文件是以二进制方式写入的 (fwrite) ,普通编辑文件打开看到的只是乱码,用 ultraedit 打开也只是看到十六进制的数据。如果你了解 .gcda/.gcno 的文件格式 ( 可以参考 " Linux 平台代码覆盖率测试工具 GCOV 相关文件分析 ") ,看起来会好些;否则,看起来便不知所云,除非有一种工具或程序能将其内容按照有意义的 ( 文件 ) 格式 dump 出来,如果再加上一些提示,就更好了。

 

——这就是 gcov-dump 程序。

 

gcov-dump 是一个 dump 程序,输入是一个 gcov 的文件,或者 .gcda ,即 gcov 的 data 文件;或者 .gcno ,即 gcov 的 note 文件。

 

有了 " Linux 平台代码覆盖率测试工具 GCOV 相关文件分析 " 和 " Linux 平台代码覆盖率测试 -GCC 如何编译生成 gcov/gcov-dump 程序及其 bug 分析 " 这两篇文章做基础, gcov-dump 的原理就很好理解了。本文不予详细叙述,只做一些代码注释和简单记录,便于用到的时候查询。 好头脑赶不上烂笔头嘛。

 

本文例子所用的 gcov-dump 程序来自 " Linux 平台代码覆盖率测试 -GCC 源码中抽取 gcov/gcov-dump 程序 " 一文。

 

2. gcov-dump 原理分析

 

2.1 gcov-dump 程序结构


图中实线表示调用,实线旁边的数字表示 tag 值。 tag 的值请参考 gcov_io.h 文件,或者 " Linux 平台代码覆盖率测试工具 GCOV 相关文件分析 " 。

 

相关视频

    没有数据

相关阅读 盘古越狱原理分析(看清它如何越狱的!)茄子快传原理是什么 茄子快传的原理分析硬盘保护卡的原理分析更改IE标题栏和注册表的原理分析VBS脚本病毒原理分析与防范 (1)VBS脚本病毒原理分析与防范QQ尾巴病毒的发送原理分析Mac虚拟机安装Linux Ubuntu教程 Parallels desktop安装linux教程

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 nginx-1.0.4的容器源码如何在xp系统用IIS搭建 nginx-1.0.4的容器源码分析—数组结构ngx_aPHP编程技巧提高PHP开发效率php站内全文搜索代码如何在xp系统用IIS搭建php环境

人气排行 如何在xp系统用IIS搭建php环境php输出内容乱码解决方法php站内全文搜索代码gcov-dump原理分析_Linux平台代码覆盖率测试如何架设PHP服务器nginx-1.0.4的容器源码分析—数组结构ngx_a用PHP实现文件管理系统PHP编程技巧提高PHP开发效率