● 摘要
随着 Google 推出的 Android 平台在智能手机上的推广普及,基于Android系统的开发与研究方兴未艾。Android平台跨越多个软件层次的特点使得其平台上的一些复杂应用,在调试开发过程中需要跨软件层次的调试器。但由于需求专业化,使用范围较窄,部分现有工具未开源等因素的制约,还没有完全满足需求的开源软件可以使用。
为解决以上问题,本文在研究了Eclispe调试模型、Java远程调试协议(JDWP)、C/C++远程调试协议(GDB/RSP)和GDB机器命令接口(GDB/MI)后,基于开源软件JDT和CDT设计和实现了一个Android平台的跨软件层次手机应用调试器。
本文研究的跨软件层次的Android手机应用调试器,依据公司智能手机项目实际的调试需求,通过目标机管理、启动器、调试代理转换三大模块,实现了目标机管理、调试程序控制、断点管理、单步跟踪以及调试信息查询修改五大功能。
本文为解决单步跟踪时跨越软件层次的情况,设计和实现了同时启动Java调试会话和C/C++调试会话来协调沟通的方案。在C/C++软件层次暂停时保持JDWP线程的连接状态,以此取得Java软件层次的调试信息,从而实现了Java 软件层次和C/C++软件层次堆栈的统一显示。
最后,本文介绍了如何部署跨软件层次调试器的运行和应用环境,并应用一个程序实例验证了跨软件层次的Android手机应用调试器的有效性和稳定性。
相关内容
相关标签