Android ndk 调试HelloJni的本机代码

Android ndk 调试HelloJni的本机代码,android-ndk,Android Ndk,几天来,我一直在尝试调试示例hello jni的c代码,但没有成功。我已经安装了所有的需求,并遵循了许多博客文章(每次重复这个过程),试图使这个工作 我正在使用 Windows 7 64位 使用cdt8.0.2的eclipsejuno Android NDK r8b Android SDK 20.0.3 安装了make、gcc core和gcc-g++的最新cygwin(尽管我认为NDK r8b不需要这个?) 我遵循了这一点 设置和构建apk。它构建和安装都很好,如果作为Android应用程

几天来,我一直在尝试调试示例hello jni的c代码,但没有成功。我已经安装了所有的需求,并遵循了许多博客文章(每次重复这个过程),试图使这个工作

我正在使用

  • Windows 7 64位
  • 使用cdt8.0.2的eclipsejuno
  • Android NDK r8b
  • Android SDK 20.0.3
  • 安装了make、gcc core和gcc-g++的最新cygwin(尽管我认为NDK r8b不需要这个?)
我遵循了这一点 设置和构建apk。它构建和安装都很好,如果作为Android应用程序启动,我可以调试java代码

我跟随了这篇关于NDK插件的文章 但是,当以c代码中带有断点的Android本机应用程序启动时,该应用程序将正常启动和运行,没有断点被命中,也没有错误消息

任何帮助都将不胜感激。 谢谢

编辑:

下面是一些在清除前在控制台中出现半秒钟的错误

警告:在分析目标库列表时(第2行):没有为/system/bin/linker定义段

警告:无法加载52个库的共享库符号,例如/system/bin/linker

使用“info sharedlibrary”命令查看完整的列表

您需要“设置solib搜索路径”还是“设置系统根”

警告:找不到动态链接器断点函数

GDB将无法调试共享库初始值设定项 并跟踪显式加载的动态代码


退出(当程序恢复时,预期信号SIGINT)

证明我使用的上述指南是我所需要的,并且一切正常

警告信息只是。。。警告,因此本机代码的调试一直有效。 我的问题是本地函数调用,在gdb可以连接之前,我的断点被立即调用。我将JNI函数调用放到onClick中,发现我的断点毕竟被击中了

我希望上面的链接和这个答案可以帮助别人。
谢谢

根据NDK文件。。 “目前,‘ndk gdb’需要一个Unix shell来运行。这意味着 Cygwin需要在Windows上运行它。我们希望摆脱这个问题 未来NDK版本中的限制。”


Jeff你能在没有cygwin的情况下在windows上调试本机代码吗?

Jeff,你能分步解释一下你是怎么做到的吗?请参阅我上面的问题,获取所有教程链接和我上面的答案,谢谢。它甚至在两年后也能完美工作!:)