调试使用vs-android构建的Android本机应用程序

时间:2011-09-06 16:36:20

标签: android c++ android-emulator android-ndk

我正在使用vs-android来构建原生C ++ Android应用程序。我想通过在模拟器上启动gdbserver并连接到该GDB服务器来从命令行进行调试。由于我没有使用Android构建脚本,因此默认情况下不会提供gdbserver。所以我将gdbserver添加到lib文件夹中,vs-android收集它并将其推送到APK。现在可以在应用程序的lib文件夹中的模拟器上找到该文件,当我使用adb install部署应用程序时,我的SO也位于该文件夹中。

我现在尝试使用run-as运行gdbserver,但是我收到错误“无法附加到进程924:操作不允许(1)”。

根据此http://ian-ni-lewis.blogspot.com/2011/05/ndk-debugging-without-root-access.html,当使用run-as启动gdbserver时,服务器应该能够附加到进程。

关于我仍然可能做错的任何想法?

2 个答案:

答案 0 :(得分:0)

要确定问题是使用run-as还是使用gdbserver,请尝试使用run-as执行'ps'而不是gdbserver,然后查看'ps'进程是否列为具有与之相同的用户ID应用程序的过程。如果没有,那么run-as就会出现问题。如果它与应用程序的用户ID相同,则gdbserver更有可能出现此问题。

答案 1 :(得分:0)

adb shell su -c setenforce 0 它会解决问题