如何调试原生Android平台代码?

时间:2016-01-28 16:41:56

标签: android android-ndk android-source

我对学习Android运行时(ART)感兴趣,并且我希望能够在其上放置一个调试器,以便我可以逐步完成代码。我有一个AOSP版本,我一直在模拟器上运行。

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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