【问题标题】:Can't debug native Android apps in Genymotion via Eclipse无法通过 Eclipse 在 Genymotion 中调试原生 Android 应用程序
【发布时间】:2014-05-14 13:24:47
【问题描述】:

我已将我的应用程序构建为 x86 本机应用程序,并在 Genymotion 上运行它。当我尝试从 Eclipse 进行调试时,就会出现问题。在控制台视图中,我得到了年龄:

gdbserver output:
run-as: exec failed for lib/gdbserver Error:No such file or directory
Verify if the application was built with NDK_DEBUG=1

不过,在 ARM 版本中一切正常。我检查了 x86 gdbserver 是否包含在我的 .apk lib/x86/gdbserver 中。我还读到 x86 版本的 android 无论如何都在本地包含一个 gdbserver,所以不知道这一切有什么意义。

我已经能够使用 adb shell 手动附加包含的 gdbserver,然后让 Eclipse 远程附加到它,这是一个起点:How to get ndk-gdb working on Android? 它没有提到任何关于 x86 或 Genymotion 的内容。不幸的是,它很乏味,而且它似乎没用,因为它不加载任何符号(尽管这可能是因为我的无知。)

是否有任何指导来进行此设置,使用 Eclipse 和 Genymotion 调试本机应用程序,工作?

【问题讨论】:

  • 你可以尝试使用 run-as shell 并创建一个符号链接,指向脚本试图找到它的 gdbserver?

标签: eclipse android-ndk gdb remote-debugging genymotion


【解决方案1】:

很遗憾,这是由于 Genymotion v2.2 中的一个错误
它将在我们的下一个版本中修复(我为 Genymotion 工作)。

你是对的,gdbserver 不是从 apk 部署的,这就是它不起作用的原因。

您可以在此处找到要应用的补丁程序,该补丁程序将为使用 Genymotion 2.2 创建的 Genymotion KitKat 设备修复此 apk 部署错误:native-debug-fix.kitkat.zip

警告此补丁仅适用于:

  • Kitkat (Android 4.4.2) 设备
  • 使用 genymotion v2.2 创建

不要在其他设备上应用补丁,它刹车。

要应用补丁,只需将 zip 文件拖放到 genymotion 上即可。

【讨论】:

  • 完美运行。谢谢。
  • 是的,至少它部署了 gdbserver,但我仍然无法调试,除非使用棘手的手动附加:(
  • 看起来 2.2.2 正确放置了 gdb 服务器,但是 ide 不知道源代码行并且不会在断点处停止
  • 这仍然是一个问题吗?对我来说,它似乎并没有停在断点处。
  • 该问题已在当前 2.2.2 Genymotion 中得到修复。
猜你喜欢
  • 1970-01-01
  • 2013-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
  • 2010-09-13
  • 2012-09-17
  • 1970-01-01
相关资源
最近更新 更多