我正在使用vs-android构建本机C++ Android应用程序。我想通过在模拟器上启动gdbserver并连接到该GDB服务器来从命令行进行调试。由于我没有使用Android构建脚本,因此我没有默认提供gdbserver。因此,我将gdbserver添加到vs-android收集它的lib文件夹中,并将其推送到APK中。该文件现在可以在我的SO所在的应用程序的lib文件夹的仿真器中找到,当我使用adb install部署应用程序时。调试使用vs-android构建的Android本地应用程序
我现在试着用run-as来运行gdbserver,但我得到错误“无法附加到进程924:操作不允许(1)”。
根据此http://ian-ni-lewis.blogspot.com/2011/05/ndk-debugging-without-root-access.html服务器应该能够附加到进程时,gdbserver启动与运行。
任何想法,我仍然可以做错吗?
NDK的-gdb的脚本就是这样 - 一个shell脚本,你可以阅读和学习。看起来你没有正确地使用run-as的东西,或者它在你的设备上坏了(因为它在我的设备上)。此外,请确保被调试的apk具有Internet权限,因为gdbserver需要网络套接字,除非您通过unix域代理它。 (我期望有一个不同的错误消息,但是错误引发的误导性消息在这个世界中并不是未知的) –