1

我已按照此处找到的调试本机代码的说明进行操作: http ://www.eweek.com/c/a/Linux-and-Open-Source/How-to-Set-Up-Android-Platform-Development-and-调试/

为此,您必须从 adb shell 启动 gdbserver。我已将 gdbserver 复制到目标文件系统,但无法使其可执行(chmod 给出权限错误或“坏模式”错误)。

我需要root我的设备来启动gdbserver吗?(如何??)我需要手动复制 gdbserver 吗?有没有更简单的方法来做到这一点?这正在变成生产力的黑洞。我想做的就是调试我的jni代码......

TIA 寻求帮助。

4

1 回答 1

1

首先,/sdcard 使用 'noexec' 选项挂载。因此,您无法从 /sdcard 执行任何可执行文件。您必须将 gdbserver 放到另一个文件系统中,例如 /data/local/tmp。

其次,如果您将其开发为 Android 应用程序,gdbserver 需要适当的权限才能附加目标进程以进行调试。有两种方法。使用 run-as 或获取 root。

请查看Running ndk-gdb with package not found error on motorola phone

于 2011-07-15T05:11:55.900 回答