如何调试本机 Android 平台代码?

How can I debug native Android platform code?

我有兴趣了解 Android 运行time (ART),我希望能够在其上安装调试器,以便我可以单步执行代码。我有一个 AOSP 版本,我已经 运行 在模拟器上运行了。

附加和 运行 来源的最佳方式是什么?我应该只在模拟器上使用 gdbserver 吗?是否有人们用于本机调试的 IDE?

如果你想调试本机代码,你将需要源代码,这当然意味着要获得 AOSP。设置 AOSP 后,请执行以下操作:

  1. 在您的 AOSP 目录中,运行 "choosecombo"。 Select "debug" 并选择一个 "eng" 构建。
  2. 构建 AOSP
  3. 启动模拟器(即:在 Linux、"emulator &" 上)
  4. adb shell 进入模拟器和 运行 "setprop debug.db.uid 32767"。这可以防止 debuggerd 附加到它认为已停止并导致问题的进程。有关详细信息,请参阅 AOSP 中的 system/core/debuggerd/debuggerd.cpp。
  5. 在您构建 AOSP 的同一个 shell 中,运行 "gdbclient [process name]"。这将附加并加载您感兴趣的进程的调试信息。您也可以附加到 pid,但最终必须自己加载符号信息。
  6. 享受调试本机Android平台代码

看起来你明白了这一点,但为了完整起见,这里有一些官方文档的 link,基本上涵盖了你所说的内容:http://source.android.com/devices/tech/debug/index.html