我希望能够在构建和运行开源Android操作系统时放置断点,并查看调用堆栈,逐步执行代码。我也可能想在Dalvik VM中进行调试。操作系统是使用make构建的,所以我想我需要使用gdb。我只能找到关于如何做到这一点的过时说明。有没有人设法在Android操作系统中进行调试,或者在此找到最新的说明?
答案 0 :(得分:1)
如果您以root用户身份运行(仿真器中的正常情况,可能是开发电话或可能是消费者的安全漏洞),您可以将gdb(实际上是gdbserver)附加到几乎任何已经运行的用户空间进程。请注意,在任何有用的时间内,许多事情可能会因暂停而反应不佳。
如果您没有以root用户身份运行,则只能调试作为用户运行的进程,您可以说服它运行gdbserver - 即,您使用adb启动的那些进程,或者使用应用程序的run-as工具应用程序进程使用调试标志设置并具有Internet权限(用于gdb-gdbserver通信)。
如果你想调试内核,你需要弄清楚如何让kgdb工作,或者更有可能只是在有趣的地方加载printk。这当然需要能够重建并重新安装内核。
答案 1 :(得分:0)
不要使用模拟器,这会浪费你宝贵的时间。 获取Android手机,调试将如你所愿快速和轻松。
答案 2 :(得分:0)
不确定
只要您拥有Eclipse IDE,这很容易。您只需在调试中运行程序并转到DDMS选项卡。
一些可以帮助您的链接:
http://www.droidnova.com/debugging-in-android-using-eclipse,541.html
http://developer.android.com/guide/developing/debugging/index.html
修改强> 我想你必须为你的目的下载和编译Android源代码。此链接可能会对您有所帮助:http://source.android.com/source/initializing.html
答案 3 :(得分:0)
这取决于您的桌面情况,但可以通过增加emulator RAM来改进模拟器。它不是很好,但会得到改善。
要在您的设备上进行调试,请使用USB电缆将其连接到计算机。当您通过Eclipse运行项目时,它将提示运行哪个设备/模拟器,在这种情况下您选择手机。然后,您将切换到Debug透视图。