[发明专利]一种程序调试方法及系统有效
| 申请号: | 201010594006.8 | 申请日: | 2010-12-17 |
| 公开(公告)号: | CN102541727A | 公开(公告)日: | 2012-07-04 |
| 发明(设计)人: | 尉红梅;王飞;李中升;吴佩华;沈莉;龚传 | 申请(专利权)人: | 无锡江南计算技术研究所 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
| 地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 程序 调试 方法 系统 | ||
技术领域
本发明涉及软件测试领域,特别是涉及一种程序调试方法及系统。
背景技术
伴随着电子技术的发展,众多的CPU芯片被研发出来。一种CPU芯片的研制,从设计、验证、流片到量产的过程中往往需要一个比较长的周期。与此同时,针对该CPU芯片的程序也要同步进行开发。
在CPU芯片尚未研制出成品的情况下,通常需要依赖模拟器对CPU芯片进行功能和性能的模拟,此模拟器必须支持该CPU芯片的体系结构,即体系结构模拟器。体系结构模拟器使用高级语言将新的体系结构设计实现为一个虚拟系统,在已有的计算机上运行,对所研发CPU芯片的程序进行模拟,从而对此程序进行调试,并对程序的正确性和性能进行分析和评估。目前,国际上最为流行的体系结构模拟器是SimpleScalar,它是一个集成了ARM和Alpha21264体系结构的模拟器。我国中科院也在研发龙芯2号微处理器过程中研制了Sim-Godsun体系结构模拟器,能够支持龙芯指令集的模拟。
但是,因为体系结构层次上的计算机系统很复杂,如果通过体系结构模拟器来模拟诸多细节,处理速度会非常慢。另外,由于模拟器本身的复杂性,在运行过程中不可避免的会出现诸多问题,所以体系结构软件模拟器的可靠性也不高。
发明内容
为解决上述技术问题,本发明实施例提供一种程序调试方法及系统,以实现程序调试的快捷和高可靠性,技术方案如下:
一种程序调试方法,包括:
读入待调试的第一平台程序;
对所述第一平台程序进行反汇编,生成第一平台指令;
将所述第一平台指令逐条跨平台等价转换为第二平台指令,所述第二平台指令为:标准调试器能够识别的指令;
对所述第二平台指令进行编译,生成第二平台程序;
将所述第二平台程序输出到标准调试器进行调试。
优选的,所述将第一平台指令逐条跨平台等价转换为第二平台指令,包括:
逐条判断所述反汇编生成的第一平台指令与所述第二平台指令是否为指令集架构兼容指令,如果是,则执行一对一等价转换;否则,执行一对多等价转换;
其中,所述一对一等价转换为:将一个第一平台指令等价转换为一个第二平台指令;
所述一对多等价转换为:将一个第一平台指令等价转换为多个第二平台指令。
优选的,所述执行一对多等价转换,包括:
当预留的指令空间的空余空间大于一对多等价转换所需空间时,执行所述一对多等价转换。
优选的,在所述一对多等价转换过程中,还包括:
实时判断所述一对多等价转换所需的空间是否超过预留的指令空间,如果是,则报错并停止指令转换。
优选的,当所述一对多等价转换所需的空间超过预留的指令空间并引起报错和指令转换停止时,增大所述预留的指令空间的大小,继续执行将所述第一平台指令跨平台转换为第二平台指令的操作。
相应于本发明提供的一种程序调试方法,本发明还同时提供了一种程序调试系统:
一种程序调试系统,包括:标准调试器和程序调试装置,
所述程序调试装置包括:程序读入模块、反汇编模块、跨平台指令转换模块、编译模块,程序输出模块;
所述程序读入模块,用于读入待调试的第一平台程序;
所述反汇编模块,用于对所述第一平台程序进行反汇编,生成第一平台指令;
所述跨平台指令转换模块,用于将所述第一平台指令逐条跨平台等价转换为第二平台指令,所述第二平台指令为:标准调试器能够识别的指令;
所述编译模块,用于对所述第二平台指令进行编译,生成第二平台程序;
所述程序输出模块,用于将所述第二平台程序输出到标准调试器进行调试。
优选的,所述跨平台指令转换模块包括:指令集构架兼容指令判断子模块、一对一等价转换子模块和一对多等价转换子模块;
所述指令集构架兼容指令判断子模块,用于逐条判断反汇编生成的第一平台指令与第二平台指令是否为指令集架构兼容指令;
所述一对一等价转换子模块,用于对指令集构架兼容指令进行一对一等价转换,其中,所述一对一等价转换为:将一个第一平台指令等价转换为一个第二平台指令;
所述一对多等价转换子模块,用于对非指令集构架兼容指令进行一对多等价转换,其中,所述一对多等价转换为:将一个第一平台指令等价转换为多个第二平台指令,所述多个第二平台指令存储在预留的指令空间中。
优选的,当预留的指令空间的空余空间大于一对多等价转换所需空间时,执行所述一对多等价转换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010594006.8/2.html,转载请声明来源钻瓜专利网。





