[发明专利]基于GCC和Chromium的代码跟踪方法及系统有效
申请号: | 201410608619.0 | 申请日: | 2014-11-03 |
公开(公告)号: | CN105630471B | 公开(公告)日: | 2019-02-15 |
发明(设计)人: | 林作健 | 申请(专利权)人: | 广州市动景计算机科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 510627 广东省广州市天河区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 gcc chromium 代码 跟踪 方法 系统 | ||
1.一种基于GCC和Chromium的代码跟踪方法,包括:
使用GNU编译器套装GCC编译待跟踪程序;
在编译过程中修改所述待跟踪程序中各个函数的GIMPLE中间表示形式,插入跟踪代码;
编译结束后,运行所述待跟踪程序;
所述跟踪代码记录各个函数执行的过程,生成跟踪记录文件;
将所述跟踪记录文件导入Chromium跟踪可视化工具并展示。
2.如权利要求1所述的基于GCC和Chromium的代码跟踪方法,所述插入跟踪代码为在待跟踪程序中各个函数的入口点和退出点分别插入第一分析函数和对应的第二分析函数,所述第一分析函数和第二分析函数用于记录对应的被跟踪的函数的执行过程,所述第一分析函数在每次执行对应的被跟踪的函数时调用,所述第二分析函数在每次退出对应的被跟踪的函数时调用。
3.如权利要求2所述的基于GCC和Chromium的代码跟踪方法,在待跟踪程序中各个函数的异常安全退出点插入第二分析函数。
4.如权利要求2所述的基于GCC和Chromium的代码跟踪方法,将被跟踪的函数包含于第一try语句中,将所述第一分析函数插入于所述第一try语句之前,将所述第二分析函数包含于对应于所述第一try语句的第一final语句中。
5.如权利要求4所述的基于GCC和Chromium的代码跟踪方法,将所述第一分析函数、第一try语句和第一final语句包含于第二try语句中,在对应于第二try语句的第二final语句中包含Clobber构造器表达式,所述Clobber构造器表达式用于延长第一分析函数和第二分析函数的参数变量的声明周期至第二分析函数的调用返回为止,所述Clobber构造器表达式的类型为第一分析函数和第二分析函数的参数变量的类型。
6.一种基于GCC和Chromium的代码跟踪系统,包括:
编译单元,用于使用GNU编译器套装GCC编译待跟踪程序;
中间表示修改单元,用于在编译过程中修改所述待跟踪程序中各个函数的GIMPLE中间表示形式,插入跟踪代码;
执行单元,用于编译结束后,运行所述待跟踪程序;
跟踪记录文件生成单元,用于根据所述跟踪代码记录的各个函数的执行过程,生成跟踪记录文件;
可视化单元,用于将所述跟踪记录文件导入Chromium跟踪可视化工具并展示。
7.如权利要求6所述的基于GCC和Chromium的代码跟踪系统,所述中间表示修改单元,包括:
中间表示修改子单元,用于在编译过程中修改所述待跟踪程序中各个函数的GIMPLE中间表示形式;
第一插入子单元,用于在编译过程中于待跟踪程序中各个函数的入口点插入第一分析函数;
第二插入子单元,用于在编译过程中于待跟踪程序中各个函数的退出点插入对应的第二分析函数,
其中,所述第一分析函数和第二分析函数用于记录对应的被跟踪的函数的执行过程,所述第一分析函数在每次执行对应的被跟踪的函数时调用,所述第二分析函数在每次退出对应的被跟踪的函数时调用。
8.如权利要求7所述的基于GCC和Chromium的代码跟踪系统,所述第二插入单元用于在编译过程中于待跟踪程序中各个函数的异常安全退出点插入第二分析函数。
9.如权利要求6所述的基于GCC和Chromium的代码跟踪系统,所述中间表示修改单元,包括:
中间表示修改子单元,用于在编译过程中修改所述待跟踪程序中各个函数的GIMPLE中间表示形式;
第一修改子单元,用于在编译过程中将被跟踪的函数包含于第一try语句中;
第三插入子单元,用于在编译过程中于所述第一try语句之前插入第一分析函数;
第四插入子单元,用于在编译过程中在对应于所述第一try语句的第一final语句中插入第二分析函数。
10.如权利要求9所述的基于GCC和Chromium的代码跟踪系统,所述中间表示修改单元,还包括:
第二修改子单元,用于将所述第一分析函数、第一try语句和第一final语句包含于第二try语句中;
第三修改子单元,用于在对应于第二try语句的第二final语句中包含Clobber构造器表达式,所述Clobber构造器表达式用于延长第一分析函数和第二分析函数的参数变量的声明周期至第二分析函数的调用返回为止,所述Clobber构造器表达式的类型为第一分析函数和第二分析函数的参数变量的类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市动景计算机科技有限公司,未经广州市动景计算机科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410608619.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:应用程序的切换方法及切换装置
- 下一篇:一种将PPT转换为HTML页面的方法