调试使用vs-android构建的Android原生应用程序

Debugging Android native applications built with vs-android

本文关键字:Android 原生 应用程序 构建 vs-android 调试      更新时间:2023-10-16

我使用vs-android来构建本地c++ Android应用程序。我想通过在模拟器上启动gdbserver并连接到该GDB服务器,从命令行进行调试。因为我没有使用Android构建脚本,所以我没有得到默认交付的gdbserver。因此,我将gdbserver添加到lib文件夹中,vs-android从这里收集它并将其推入APK。该文件现在可以在应用程序的lib文件夹中找到,当我使用adb install部署应用程序时,我的SO也位于该文件夹中。

我现在试着用run-as运行gdbserver,但我得到错误"Cannot attach to process 924: Operation not allowed(1)"。

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

有什么想法,我可能还做错了吗?

adb shellSu -c setenforce 0这会解决问题的

要弄清楚问题是与run-as还是与gdbserver有关,请尝试使用run-as执行'ps'而不是gdbserver,然后查看'ps'进程是否与应用程序的进程具有相同的用户id。如果不是,那么你的run-as有问题。如果它与应用程序的用户id相同,那么问题更可能出现在gdbserver.