[发明专利]一种基于编译的跟踪代码中特定对象的控制方法及装置无效
申请号: | 200710043791.6 | 申请日: | 2007-07-13 |
公开(公告)号: | CN101344855A | 公开(公告)日: | 2009-01-14 |
发明(设计)人: | 刘通平;韩涛 | 申请(专利权)人: | 上海宇梦通信科技有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F11/36 |
代理公司: | 上海市光大律师事务所 | 代理人: | 崔维 |
地址: | 200121上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 编译 跟踪 代码 特定 对象 控制 方法 装置 | ||
技术领域
本发明涉及用于对计算机程序进行编译的编译器,具体而言,涉及在编译器中对被编译的代码中的特定对象进行跟踪的辅助编译装置以及相应的控制方法。
背景技术
在编写计算机程序的过程中,总是需要对程序进行调试,其中,一个常用的手段是对程序中的特定对象,例如一个变量(全局变量或局部变量),进行跟踪以确定特定对象是否按照预定的程序设计运行。目前针对特定对象的跟踪技术主要有两种:基于源码的信息打印方式和基于调试器的跟踪方式。在第一种方式中,人为地在程序源代码中增加打印函数,从而在软件程序运行过程中通过调用上述人为增加的打印函数把相应特定对象的信息打印出来以实现对其跟踪。可以理解,这个打印函数与原源代码无关,而仅仅是一种调试、跟踪特定对象的手段。以这种方式进行调试导致发现问题所花费的时间与人为因素密切相关,因为不同软件开发人员自身技术能力以及对软件的熟悉程度等因素都会导致对相同技术问题的调试时间差别极大的情况,使得软件开发与调试工作更加具有不可控性。第二种方式借助现存的调试器在可能发生问题的源代码处加上软件断点。在程序运行过程中,程序在断点处中止运行,通过调试器可以对特定对象进行跟踪。但由于现存的调试器存在不完善之处增加了使用第二种方式对特定对象进行跟踪的难度,比如目前很少有调试器支持从用户空间到内核空间的调试;又比如在内核中调试器的运行也并不顺畅,例如内核调试器kgdb(Kernel GDB)经常会出现莫名其妙的问题等。另外,调试器的方式并不能支持自动跟踪特定对象,例如全局变量的值。
发明内容
针对现有技术中跟踪特定对象的方法的不完善,本发明提出了一种基于编译器的跟踪特定对象的方法。
根据本发明的一个方面,提供一种在程序代码编译过程中对被编译的代码中的特定对象进行跟踪处理的控制方法,包括如下步骤:b.判断所述代码中是否包括特定对象;c.若所述代码中包括所述特定对象,则将特定代码与此特定对象相关联地插入编译后代码中,其中,所述特定代码用于对所述特定对象进行跟踪处理。
根据本发明的又一个方面,提供一种在代码编译器中对被编译的代码中的特定对象进行跟踪处理的辅助编译装置,其包括:判断装置,用于判断所述代码中是否包括特定对象;以及,跟踪处理装置,用于当所述代码中包括所述特定对象时将特定代码与此特定对象相关联地插入编译后代码中,其中,所述特定代码用于对所述特定对象进行跟踪处理。
通过本发明提供的辅助编译装置以及控制方法,可以对特定对象进行动态跟踪,即在所有使用该特定对象的位置都可以打印出该特定对象的相关信息从而提高软件程序的调试速度。本发明自动化程度很高,通过编译器自动完成对特定对象的跟踪,减少了人为因素对跟踪特定对象的影响。通过本发明的使用,可以提高软件系统开发的效率,减少软件系统开发与维护的成本,使软件系统开发与维护的过程,更加具有可控性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出了根据本发明的第一实施例的,在程序代码编译过程中对被编译的代码中的特定对象进行跟踪处理的控制方法的流程图;
图2示出了根据本发明的第二实施例的,在程序代码编译过程中对被编译的代码中的特定对象进行跟踪处理的控制方法的流程图;
图3示出了根据本发明的第二实施例的,获取特定对象以及与该特定对象相对应的特定代码的流程图;
图4示出了根据本发明的第三实施例的,在程序代码编译过程中对被编译的代码中的特定对象进行跟踪处理的控制方法的流程图;
图5示出了根据本发明的第三实施例的,对图4所示步骤S113,即判断被编译的代码中是否包括特定对象的流程图;
图6示出了根据本发明的第四实施例的,在代码编译器中对被编译的代码中的特定对象进行跟踪处理的辅助编译装置的结构示意图;
图7示出了根据本发明的第五实施例的,在代码编译器中对被编译的代码中的特定对象进行跟踪处理的辅助编译装置的结构示意图;
图8示出了根据本发明的第四实施例的,图6所示辅助编译装置3中的跟踪处理装置33的结构示意图;以及
图9示出了根据本发明的第六实施例的,应用图6或图7所示的辅助编译装置3的代码编译器的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海宇梦通信科技有限公司,未经上海宇梦通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710043791.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有污染物去除筒的热处理机
- 下一篇:提纯蒙脱石的方法和提纯蒙脱石及其组合物