虽然我可以使用用于 Java 代码的 Eclipse JDT 调试器和用于 C 代码的 GDB 来调试我的应用程序,但我更愿意使用一个工具来进行所有调试。我发现了几个在 Eclipse 中启用“混合模式”调试的项目,并且包括对 Java 和本机代码之间的单步执行的支持。
不幸的是,一个声称是预发布质量,另一个目前未维护。 是否有任何插件以可靠的方式为 Eclipse 带来混合模式调试功能,还是我应该继续使用两个单独的调试器?
虽然我可以使用用于 Java 代码的 Eclipse JDT 调试器和用于 C 代码的 GDB 来调试我的应用程序,但我更愿意使用一个工具来进行所有调试。我发现了几个在 Eclipse 中启用“混合模式”调试的项目,并且包括对 Java 和本机代码之间的单步执行的支持。
不幸的是,一个声称是预发布质量,另一个目前未维护。 是否有任何插件以可靠的方式为 Eclipse 带来混合模式调试功能,还是我应该继续使用两个单独的调试器?
对于那些希望在 Eclipse Juno 版本中调试 NDK/JNI 代码的人来说,它本质上是在安装 Android 插件和 CDT 插件后内置到软件中的。您可能会遇到问题,因为 C/C++ 开发工具 (CDT 8.1) 引入了一个问题,截至 2012 年 7 月 24 日尚未修复。有关该问题的详细信息,请参阅以下链接。如果您只想调试,请继续阅读。
http://code.google.com/p/android/issues/detail?id=33788
如果它工作正常,您只需在 C 和Debug As -> Android Native Application中设置断点。不幸的是,您不能同时调试 java 和 C。如果问题出在 Java 中并且您想进行调试,请单击Debug As -> Android Application。
如果它无法正常工作,并且您想弄清楚如何正确获取它,那么以下软件包对我有用。
Android DDMS 20.0.1.v201207132230-403220
Android Development Tools 20.0.1.v201207132230-403220
Android Hierarchy Viewer 20.0.1.v201207132230-403220
Android Native Development Tools 20.0.1.v201207132230-403220
Android Traceview 20.0.1.v201207132230-403220
Autotools support for CDT (Incubation) 3.0.1.201202152032
C/C++ Development Tools 8.0.2.201202111925
C/C++ Development Tools SDK 8.0.2.201202111925
C/C++ Library API Documentation Hover Help (Incubation)
Eclipse SDK 4.2.0.I20120608-1400
Tracer for OpenGL ES 20.0.1.v201207132230-403220
android 软件包来自设置Work With: Eclipse Help->Install New Software...对话框上的选项
dl-ssl.google.com/android/eclipse/
较旧的 8.02... CDT 软件包来自于将Work With:选项设置为 Indigo 发行版软件包。
download.eclipse.org/releases/indigo
如果已安装,您将需要在安装旧版 CDT 之前删除 Android 工具和新版 CDT。一旦安装了 CDT 的 8.02... 版本,您就可以安装 Android 工具并开始调试。
确保使用构建命令“ndk-build NDK_DEBUG=1”
可能不需要 Autotools,但由于它已安装,我已将其列出。
请注意,单步执行代码有时会很奇怪。
我认为今天没有任何东西可以解决这个问题,但我知道 Doug Schaefer 在他想要完成的事情清单上的排名很高。请关注他的博客以获取有关此方面的更新。
ARM 本身似乎有一个工具包:http ://ds.arm.com/ds-5-community-edition/
需要 Eclipse 4.4(“Luna”)。
使用新的 Android ADT 捆绑包(截至 2013 年 5 月 12 日),不再需要旧的 8.02 软件包。如果您发现自己正在编辑文本文件以使调试工作,那么您正在遵循不再适用的旧方向。使用 android ADT 和 Debug As-> Android Native Application。如果尚未在设置中完成,您可能仍需要设置 NDK_DEBUG=1。
Eclipse Sequoyah 1.0 具有 android ndk 功能。Eclipse 3.6 发布火车和 3.5 发布于 6 月初。