原创 面向 VM Debugging Awareness 的应用程序界面

2011-10-18 15:40 965 9 9 分类: MCU/ 嵌入式
2006 年以来,Lauterbach 支持 Java 程序的调试,适用于 Java 虚拟机 J2ME CLDCJ2ME CDC Kaffe。由于虚拟机越来越受到欢迎,因此虚拟机供应商的数目正在快速增涨。目前,并非所有虚拟机都是开源的,为了让虚拟机供应商及其用户能够根据其虚拟机特性,灵活的调整调试功能,Lauterbach 2010 年中开始致力于开发一种新的解决方案。以 Android Dalvik 虚拟机在 ARM 核的实现,做为停止模式下开发虚拟机应用程序接口的范例.

两个“调试世界”

对于系统开发者,Android 是一个开源软件栈,包括以下组件(见图 3):

? Linux 内核及其硬件驱动程序。

? Android Runtime Dalvik 虚拟机以及一系列程序库:经典 Java 内核库,Android 特殊库、C/C++ 程序库。

? Java 应用程序及其支持的应用构架。

Android 软件可采用各种语言编写:

? Linux 内核、一些程序库与 Dalvik 虚拟机代码可采用CC++ Assembler 编写。

? 虚拟机应用程序及其支持的应用构架可采用 Java 语言编写。

20111018154012810.jpg

每个代码块都在单独的“调试世界”内测试。

 

调试 C/C++ 程序和汇编程序代码

通过使用 JTAG 接口,采用 C/C++ 和汇编器编写的Android 程序可以在目标硬件上以停止模式调试。在停止模式调试时,TRACE32 调试器可直接与 Android

件平台的处理器通讯(见图 4)。停止调试模式的特点是:当处理器被停止以进行调试时,整个 Android 系统亦停止运行。

停止模式调试具有以下主要优势:

? 只需一个有效的 JTAG 接口即可实现调试器与处理器之间的通讯。

? 无需在目标上加载调试服务程序,因此非常适合于测试已发布软件。

? 它允许实时测试,因此能够有效调试仅在实时情况下才出现的问题。

目前,停止模式调试暂不支持在 Dalvik VM 等虚拟机上调试 VM 应用程序,因此要实现所有软件层上均能够透明调试仍然需要一段时间。

20111018154036869.jpg

劳特巴赫工程师精心为您准备在线视频讲座,欢迎观看!

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

留言与专家进行互动,为您做免费咨询解答。


文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条