自 2006 年以来,Lauterbach 支持 Java 程序的调试,适用于 Java 虚拟机 J2ME CLDC、J2ME CDC 和 Kaffe。由于虚拟机越来越受到欢迎,因此虚拟机供应商的数目正在快速增涨。目前,并非所有虚拟机都是开源的,为了让虚拟机供应商及其用户能够根据其虚拟机特性,灵活的调整调试功能,Lauterbach 从 2010 年中开始致力于开发一种新的解决方案。以 Android Dalvik 虚拟机在 ARM 核的实现,做为停止模式下开发虚拟机应用程序接口的范例.
两个“调试世界”
对于系统开发者,Android 是一个开源软件栈,包括以下组件(见图 3):
• Linux 内核及其硬件驱动程序。
• Android Runtime 与 Dalvik 虚拟机以及一系列程序库:经典 Java 内核库,Android 特殊库、C/C++ 程序库。
• Java 应用程序及其支持的应用构架。
Android 软件可采用各种语言编写:
• Linux 内核、一些程序库与 Dalvik 虚拟机代码可采用C、C++ 或 Assembler 编写。
• 虚拟机应用程序及其支持的应用构架可采用 Java 语言编写。
每个代码块都在单独的“调试世界”内测试。
调试 C/C++ 程序和汇编程序代码
通过使用 JTAG 接口,采用 C/C++ 和汇编器编写的Android 程序可以在目标硬件上以停止模式调试。在停止模式调试时,TRACE32 调试器可直接与 Android 硬
件平台的处理器通讯(见图 4)。停止调试模式的特点是:当处理器被停止以进行调试时,整个 Android 系统亦停止运行。
停止模式调试具有以下主要优势:
• 只需一个有效的 JTAG 接口即可实现调试器与处理器之间的通讯。
• 无需在目标上加载调试服务程序,因此非常适合于测试已发布软件。
• 它允许实时测试,因此能够有效调试仅在实时情况下才出现的问题。
目前,停止模式调试暂不支持在 Dalvik VM 等虚拟机上调试 VM 应用程序,因此要实现所有软件层上均能够透明调试仍然需要一段时间。
劳特巴赫工程师精心为您准备在线视频讲座,欢迎观看!
http://v.youku.com/v_show/id_XMzExNzcwMTI4.html
您可以登录“劳特巴赫(Lauterbach)中国公司”官方微博http://weibo.com/lauterbach
官方博客http://blog.sina.com.cn/lauterbachchina
官方网站http://www.lauterbach.com/frames.html?country=cn%3fhome_c.html
留言与专家进行互动,为您做免费咨询解答。
用户936324 2014-12-23 10:22
台灣億光電子
陳勇13928702595
用户958392 2014-12-12 09:20
ok-lee_280086119 2014-12-11 17:27
用户677188 2014-12-10 11:14
用户958392 2014-12-10 09:03
用户1730011 2014-12-9 14:55
用户1627830 2011-10-18 15:35
顶起