一种智能卡虚拟机、API库与上层应用同时调试的方法及系统技术方案

技术编号:11201322 阅读:80 留言:0更新日期:2015-03-26 08:55
本发明专利技术提供一种智能卡虚拟机、API库与上层应用同时调试的方法,包括:对原生虚拟机代码,直接产生原生语言格式调试信息;对API库代码直接产生上层语言格式调试信息;对动态装载的所述上层应用的调试信息的产生方法包括:装载所述应用到运行环境;通过智能卡虚拟机的接口,获得该应用各组件在当前运行环境的基地址;将各组件在当前运行环境的基地址和应用的源代码一起作为输入,通过应用源代码获得偏移地址,通过基地址+偏移地址的方法,产生正确的符合运行环境实际应用调试信息;调试器分别载入虚拟机调试信息、API库调试信息和上层应用调试信息,对三者完整调试。本发明专利技术扩展了同时集成调试的范围,可实现动态应用和虚拟机与API库的同时集成调试。

【技术实现步骤摘要】
【专利摘要】本专利技术提供一种智能卡虚拟机、API库与上层应用同时调试的方法,包括:对原生虚拟机代码,直接产生原生语言格式调试信息;对API库代码直接产生上层语言格式调试信息;对动态装载的所述上层应用的调试信息的产生方法包括:装载所述应用到运行环境;通过智能卡虚拟机的接口,获得该应用各组件在当前运行环境的基地址;将各组件在当前运行环境的基地址和应用的源代码一起作为输入,通过应用源代码获得偏移地址,通过基地址+偏移地址的方法,产生正确的符合运行环境实际应用调试信息;调试器分别载入虚拟机调试信息、API库调试信息和上层应用调试信息,对三者完整调试。本专利技术扩展了同时集成调试的范围,可实现动态应用和虚拟机与API库的同时集成调试。【专利说明】一种智能卡虚拟机、八卩I库与上层应用同时调试的方法及系统
本专利技术涉及虚拟机调试
,尤其涉及一种智能卡虚拟机、八?I库与上层应用同时调试的方法及其调试信息产生方法及系统。
技术介绍
一般的,在进行智能卡虚拟机程序调试时,可以通过虚拟机程序%指针与原生代码源程序行号的对应关系进行虚拟机原生语言(如0语言)代码层的调试。在其上层语言(如扣妨语言)层面,调试器通过对字节码了?^:的计算,通过调试信息文件内字节码地址与源文件行号的对应关系,可以定位到上层语言源代码运行。 一般而言,上层语言层面的仙I库掩膜(脑士)在运行环境中,调试文件产生工具可以明确定位到其在运行环境中的绝对地址。 而动态装载的应用,其指令地址是由运行环境动态决定的,多个应用装载到运行环境中的次序不同,同一个应用同样的指令码在运行环境中的实际地址是不一样的,这就为统一格式的调试信息生成造成了困难。如果不解决这个问题,则无法进行动态装载的应用与智能卡虚拟机、八?I库的同时调试。
技术实现思路
有鉴于
技术介绍
所述,本专利技术的目的是提供一种智能卡虚拟机、八?I库与上层应用同时调试的方法及其调试信息产生方法。 本专利技术的目的是通过以下技术方案实现的: 一种智能卡虚拟机、八?I库与上层应用同时调试的调试信息的产生方法,其包括: 智能卡虚拟机的调试信息产生:对原生虚拟机代码,直接产生原生语言格式调试信息;八?I库的调试信息的产生:对仙I库代码直接产生上层语言格式调试信息;对动态装载的所述上层应用,其调试信息的产生方法包括以下步骤:装载所述应用到运行环境;通过所述智能卡虚拟机的接口,获得该应用各组件(类、方法、静态域等)在当前运行环境的基地址;通过应用调试信息生成工具,将所述应用的源代码作为输入,获得应用各组件(类、方法、静态域等)的具体构成的偏移地址;在所述的应用调试信息生成工具中,通过对应组件基地址+组件具体构成偏移地址的方法,计算出各组件对应具体构成的实际地址,将其记录在应用调试信息中,产生正确的符合运行环境实际应用调试信息;一种智能卡虚拟机、仙I库与上层应用同时调试的方法,其包括: 智能卡虚拟机的调试信息产生:对原生虚拟机代码,直接产生原生语言格式调试信息;八?I库的调试信息的产生:对仙I库代码直接产生上层语言格式调试信息;对动态装载的所述上层应用,其调试信息的产生方法包括以下步骤:装载所述应用到运行环境;通过所述智能卡虚拟机的接口,获得该应用各组件(类、方法、静态域等)在当前运行环境的基地址;通过应用调试信息生成工具,将所述应用的源代码作为输入,获得应用各组件(类、方法、静态域等)的具体构成的偏移地址;在所述的应用调试信息生成工具中,通过对应组件基地址+组件具体构成偏移地址的方法,计算出各组件对应具体构成的实际地址,将其记录在应用调试信息中,产生正确的符合运行环境实际应用调试信息;上述调试信息产生完成后,调试器分别载入所述虚拟机调试信息、仙I库调试信息和上层应用调试信息,实现对三者的完整的调试。 所述应用调试信息为上层语言格式。 本专利技术还提供一种智能卡虚拟机、八?I库与上层应用同时调试的系统,其包括: 智能卡虚拟机的调试信息产生模块,其用于对原生虚拟机代码,直接产生原生语言格式调试信息;八?I库的调试信息产生模块,其用于对所述仙I库的代码直接产生上层语言格式调试信息;上层应用调试信息产生模块,其包括:装载单元,其用于将所述应用装载到运行环境;基地址获取单元,其用于通过所述智能卡虚拟机的接口,获得该应用各组件(类、方法、静态域等)在当前运行环境的基地址;调试信息产生单元,其用于将所述应用的源代码作为输入,获得应用各组件(类、方法、静态域)的具体构成的偏移地址;通过对应组件基地址+组件具体构成偏移地址的方法,计算出各组件对应具体构成的实际地址,将其记录在应用调试信息中,产生正确的符合运行环境实际应用调试信息。 所述应用调试信息为上层语言格式。 与现有技术相比,本专利技术具备如下优点:扩展了同时集成调试的范围,现有技术仅可以进行虚拟机(原生语言)与八?I库(上层语言)的集成调试,而本专利技术则可以实现动态应用和虚拟机(原生语言)与八?I库(上层语言)的同时集成调试。 【专利附图】【附图说明】 图1为本专利技术实施例二的流程图。 【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 实施例一:本实施例提供的是一种智能卡虚拟机、八?I库与上层应用同时调试的调试信息的产生方法,其包括:智能卡虚拟机的调试信息产生:对原生虚拟机代码,直接产生原生语言格式调试信息;八?I库的调试信息的产生:对仙I库代码直接产生上层语言格式调试信息;对动态装载的所述上层应用,如图1所示,其调试信息的产生方法包括以下步骤:装载所述应用到运行环境;通过所述智能卡虚拟机的接口,获得该应用各组件(类、方法、静态域等)在当前运行环境的基地址;通过应用调试信息生成工具,将所述应用的源代码作为输入,获得应用各组件(类、方法、静态域等)的具体构成的偏移地址;在所述的应用调试信息生成工具中,通过对应组件基地址+组件具体构成偏移地址的方法,计算出各组件对应具体构成的实际地址,将其记录在应用调试信息中,产生正确的符合运行环境实际应用调试信息,该调试信息为上层语言格式。 实施例二:本实施例提供的是一种基于实施例一所述的基于调试信息的产生方法的智能卡虚拟机、仙I库与上层应用同时调试的方法,包括:智能卡虚拟机的调试信息产生:对原生虚拟机代码,直接产生原生语言格式调试信息;八?I库的调试信息的产生:对仙I库代码直接产生上层语言格式调试信息;对动态装载的所述上层应用,其调试信息的产生方法包括以下步骤:装载所述应用到运行环境;通过所述智能卡虚拟机的接口,获得该应用各组件(类、方法、静态域等)在当前运行环境的基地址;通过应用调试信息生成工具,将所述应用的源代码作为输入,获得应用各组件(类、方法、静态域等)的具体构成的偏移地址;在所述的应用调试信息生成工具中,通过对应组件基地址+组件具体构成偏移地址的方法,计算出各组件对应具体构成的实际地址,将其记录在应用调试信息中,产生正确的符合运行环境实际应用调试信息;上述调试信息产生完成后,调试器分别载入所述虚拟机调试信息、仙I库调试信息和上本文档来自技高网
...

【技术保护点】
一种智能卡虚拟机、API库与上层应用同时调试的调试信息的产生方法,其特征在于,包括:智能卡虚拟机的调试信息产生:对原生虚拟机代码,直接产生原生语言格式调试信息;API库的调试信息的产生:对API库代码直接产生上层语言格式调试信息;对动态装载的所述上层应用,其调试信息的产生方法包括以下步骤:装载所述应用到运行环境;通过所述智能卡虚拟机的接口,获得该应用各组件(类、方法、静态域)在当前运行环境的基地址;通过应用调试信息生成工具,将所述应用的源代码作为输入,获得应用各组件(类、方法、静态域)的具体构成的偏移地址;在所述的应用调试信息生成工具中,通过对应组件基地址+组件具体构成偏移地址的方法,计算出各组件对应具体构成的实际地址,将其记录在应用调试信息中,产生正确的符合运行环境实际应用调试信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:郑慧杰黄小鹏蔡勃
申请(专利权)人:东信和平科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1