两个“调试世界”
对于系统开发者,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
留言与专家进行互动,为您做免费咨询解答。
文章评论(0条评论)
登录后参与讨论