嵌入式远程调试代理的kdwp端通讯连接管理器的方法

文档序号:6464925阅读:349来源:国知局
专利名称:嵌入式远程调试代理的kdwp端通讯连接管理器的方法
技术领域
本发明涉及嵌入式移动设备相应软件开发的调试技术领域,是对KVM虚拟机 的远程调试支持方面的组件之一,特别涉及嵌入式软件的远程调试代理的KDWP 端通讯连接管理器。
背景技术
技术创新是没有尽头的,不仅各种客户产品蓬勃发展,而且各种易用的开发 工具也需要发展。随着中国日渐成为世界最大的移动通讯与应用市场,移动增 值应用服务迅速崛起,这应该就是继互联网之后最大的商机。智能手机在世界 及中国的市场份额不断快速增长,各种创新手机软件的开发和应用正是推动移 动增值服务市场不断发展前进的动力来源,手机软件开发渐入成熟。目前,手 机游戏业务,手机增值业务,移动商务应用等领域正处于迅猛发展的阶段。各 大游戏公司,大型娱乐网站,门户网站,电子商务,甚至到企业应用,报刊媒 体,电视广播等机构都大力推出自己的移动业务。而即将到来的下一代通讯技 术更是让移动软件开发成为市场上份额最大的产业之一。
J2ME是目前技术开发的主体,其他市场需要的技术还有SYMBIAN C++, WINDOWS MOBILE /CE C++。由于J2ME的技术先进,而且又能跨平台运行,因此 受到了众多手机厂家的支持,甚至成为现在用户购买手机的一项比较重要的技 术指标。所以到目前为止,手机的游戏应用平台中,以支持J2ME的最多,而且 J2ME软件开发商也有越来越多的趋势,J2ME已成为2002年下半年之后的行动 游戏平台主流。尤其在进入04年之后,基于JSR184的Mobile 3D Graphics API for J2ME的3D游戏开始出现,像索爱S700/K700/Z500以及西门子S65等新机 都开始支持在手机上运行3D JAVA游戏。
phoneME是SUN Open Source Java中的一个重要项目,包含了CLDC和CDC 的HotSpot实现以及多个JSR。相比起以前能下载到的RI, phoneME是一个真正 经历过众多实际产品验证的,商业级的JavaME实现。运行phoneME到当代的手 机上便是自然而然的事。同时,以J2ME平台开发的程序叫做MIDlet,可以直接 从在线下载后离线运行,或从PC通过数据线、红外或者蓝牙传输到手机上。由 于J2ME程序都很小,只有几十K,所以又被称为K-JAVA。由于K-JAVA (J2ME) 是开放平台,因此任何程序设计师甚至程序编写爱好者都能到Sun网站下载 J2ME开发工具,为手机写JAVA程序。然而Sun网站上的开发工具或多或少存在 一些问题,如配置复杂,专用性不足以及平台不能得到快速更新;尤其是对一 个需要推出新的手机、新的平台的企业来说,就要开发自己版本的开发平台。
调试工具是开发平台中的不可缺少的一部分。每个开发人员都应该使用调试 器或调试工具。调试器可以让您单步调试代码、冻结输出并检査变量。调试工 具可以帮助有经验的开发人员更迅速地找到发生问题的位置。本软件集就是基 于以上背景和技术条件下开发的MIDlet调试软件。Debugger是MIDlet开发平 台中的一个必不可或缺的开发工具,因此开发这样的调试工具是必要的。嵌入 式远程调试工具一般采用debugger——debug agent——KVM架构,因此他们之 间的通讯连接便是必不可少的组成部分。本通讯连接管理器就是基于这种背景 下实现的一个功能组件,是实现嵌入式远程调试工具的必备组件之一。

发明内容
本发明的目的在于提供一种嵌入式远程调试软件中基于调试代理(Debug Agent)的KDWP通讯连接管理器(Connection Mgr)实现方法。 本发明解决其技术问题采用的技术方案如下
1) 建立KDWP连接
本连接管理器依附于debug agent,最根本的功能便是建立与虚拟机KVM端 的KDWP连接。
2) 连接丢失重新侦听的能力
这个连接管理器一般与目标虚拟机运行在两个系统中,典型的为本连接管理 器与debug agent运行在普通PC之上,而虚拟机KVM则运行在手机上。如果因
为一些未知的原因而丢失连接,具有重新建立KDWP连接的能力,较强的出错 恢复能力。
3) 采用socket通讯方式易于移植到多种操作系统 采用几个常用操作系统(如windows,类UNIX等)系统调用的公共子集作
为本连接管理器的主要API,即采用了P O S I X标准,几个特殊调用作了主要 说明。在标准的socket通讯API之上,因此可以简单地在多种操作系统之上运 行;
4) 纠错能力,具有缓存和包丢失重发功能
作为网络组件,具有缓存和包丢失重发功能,增强了系统的可靠性。 本发明与背景技术相结合,具有的有益的效果是-本发明是一种嵌入式远程调试软件中调试代理(DebugAgent)的KDWP端 通讯连接管理器(Connection manager)的实现方法,其主要功能是对debug agent提供KDWP端通讯协议的实现,是远程调试软件的组件之一,共同完成对
虚拟机软件的远程调试能力。
(1) 独立性。本方法实现了在嵌入式软件调试的debug agent端KDWP 通讯连接管理器(Connection mgr),即通讯格式标准化,与调试器只采用标准 化的KDWP通讯方式。因此具有架构清晰,各组件相对独立的优点,也是实现 远程调试的基础组件之一。因此,只要遵循KDWP协议的虚拟机都与本通讯连接 管理器兼容,典型的虚拟机是开源的phoneME。
(2) 可靠性和高效性。Debug Agent的引入本身就是为了解决嵌入式设备 中资源受限的情景,而本连接管理器就是用来连接debug Agent与虚拟机通讯 的组件。由于虚拟机KVM往往运行在各种嵌入式设备上如手机等,而调试器则 运行在普通开发平台上如NT工作站。因此,作为网络连接的管理器,可靠性和 高效性就尤为重要。


图1是本发明在整个嵌入式软件远程调试软件中的关系图, 图2是本发明的实施流程图。
具体实施例方式
本发明是一种嵌入式远程调试软件中调试代理(DebugAgent)的KDWP端 通讯连接管理器(Connection manager)的实现方法。本连接管理器依附于debug agent,建立起与虚拟机KVM端的KDWP连接。因此,来自KVM端的数据包 和发至KVM端的数据包都有它来管理。 下面说明其具体实施过程。
1) 建立KDWP连接
本连接管理器依附于debug agent,最根本的功能便是建立与虚拟机KVM端 的KDWP连接。首先本连接管理器会尝试连接目标虚拟机,如果收到成功应答 消息,便与和虚拟机KVM建立KDWP握手后,既能接收对方(KVM)发过来 的KDWP命令数据包,等待debug agent响应后以应答数据包的方式发回对方。 同时也能向对方(KVM)发送命令数据包,要求对方作出响应的处理。 其次,如果测试连接目标虚拟机不成功,本连接管理器则进入socket侦听循环 代码,等待目标虚拟机进入连接,建立KDWP握手后,与前者进入相同的代码。 这样做的好处便是,无论先启动虚拟机KVM,还是先启动Debug Agent,都能 正常进行远程调试。
2) 连接丢失重新侦听的能力
这个连接管理器一般与目标虚拟机运行在两个系统中,典型的为本连接管理 器与debug agent运行在普通工作站PC之上,而虚拟机KVM则运行在嵌入式如 手机上。如果因为一些未知的原因而丢失连接,具有重新建立KDWP连接的能 力,体现较强的出错恢复能力。
这个技术是通过一个会话来实现一种通讯来回的方式来实现的,也就是一个会 话不与另一个会话的内容相冲突。在会话未结束之前,会保留所有会话内容。 如果在达到一个时间范围内,或者有命令要求reset,本连接管理器便进行重新 尝试连接或者测试侦听。这样就具备了一定的容错能力和错误中恢复的能力。
3) 采用socket通讯方式易于移植到多种操作系统
采用几个常用操作系统(如windows,类UNIX等)系统调用的公共子集作 为本连接管理器的主要API,即采用了POS I X标准,几个特殊调用作了主要 说明。在标准的socket通讯API之上,因此可以简单地在多种操作系统之上运 行;
对于有一些特殊的嵌入式操作系统,还是需要进行移植,因此需要添加一个 标准socket通讯接口层作为中间层。对一些嵌入式操作系统的移植都不是问题,
如在相关的wince/arm上添加了一层接口重新包装层。; 4)具有缓存和包丢失重发功能
可以实现异步通信,增加通讯效率,都是缓存机制带来的好处。另外由于通 讯上的原因,当对方(如前述,debugger或者debug代理,或者如何一方)发生 丢包,或者重复发包的情况,能够正确处理;作为网络组件,具有缓存和包丢 失重发功能,增强了系统的可靠性。
在技术上,这是通过一个对数据包进行编号处理,然后对各个数据包进行缓 冲,在一定时间范围内分别进行检查,超时便会重新传递。在一个会话范围内, 不会删除任何一条信息,相当于一个事务处理。只有当一个会话结束后,才会 清除所有与本会话相关的信息。如果在debug过程中,进行步进,并检查本地
变量作为一个会话,断点和本地变量信息都进行了保存,因此客户端重复此个 命令会继续回复该内容而不需要对虚拟机通讯,只有当客户端显示地进入下一 个会话,才重新与虚拟机KVM进行通讯。
权利要求
1、一种嵌入式远程调试代理的KDWP端通讯连接管理器的方法,其特征在于,包括1)建立KDWP连接依附于debug agent,并建立与虚拟机KVM的KDWP连接;2)连接丢失重新侦听本连接管理器与debug agent运行在普通PC之上,而虚拟机KVM则运行在手机上;如果因为一些未知的原因而丢失连接,则重新建立KDWP连接;3)采用socket标准通讯方式,支持多种操作系统;4)缓存和包丢失重发,加强系统的可靠性。
全文摘要
本发明涉及嵌入式移动设备相应软件开发的调试技术领域,旨在提供一种嵌入式远程调试代理的KDWP端通讯连接管理器。该方法包括以下步骤建立KDWP连接、连接丢失重新侦听、采用socket标准通讯方式支持多种操作系统、缓存和包丢失重发。本发明主要功能是对debug agent提供KDWP端通讯协议的实现,是远程调试软件的组件之一,共同完成对虚拟机软件的远程调试能力,具有独立性、可靠性和高效性。
文档编号G06F11/36GK101387982SQ200810120948
公开日2009年3月18日 申请日期2008年9月18日 优先权日2008年9月18日
发明者鑫 刘, 俊 吴, 施青松, 欧阳雷, 章铁飞, 罗尚虎, 威 胡, 剑 陈, 度 陈, 陈天洲 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1