This problem occurs when VisualGDB cannot find the gdbserver binary inside the lib/<EABI> directory of your project.
Gdbserver is required to debug your app and is usually automatically copied by the ndk-build script. If your project is missing this file, please check the following:
- Ensure that you are building a debug version. Ndk-make should be invoked with NDK_DEBUG=1 argument. You can see the ndk-make arguments in the Output window in Visual Studio when you build your app. You cannot debug the release build of your app due to limitations of Android NDK.
- Ensure that your AndroidManifest.xml file contains the android:debuggable attribute set to true.
- Rebuild your app and observe the build output in the
Output window. It should look similar to this:
1> c:\android-ndk-r8\ndk-build.cmd NDK_DEBUG=1 APP_PLATFORM=android-3The first bold line mentioning libs/armeabi/gdbserver should always be present. The last line mentioning an updated gdbserver can be missing if you have disabled gdb 7.x in VisualGDB Project Properties.
1> Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
1> Gdbsetup : libs/armeabi/gdb.setup
1> Install : libAndroidApp25.so => libs/armeabi/libAndroidApp25.so
1> VisualGDB: Installed an updated gdbserver to E:\PROJECTS\TEMP\AndroidApp25\libs\armeabi\gdbserver
If ndk-build reports that the gdbserver has been copied to armeabi, but VisualGDB expects it in armeabi-v7a, it means that your device has loaded the armeabi libraries and requires gdbserver to be installed to armeabi folder. In this case, please open the Application.mk file and ensure that armeabi is present in the APP_ABI definition.
If ndk-build cannot copy gdbserver, please ensure that you are using the latest NDK (at least r8), and that the <NDK>\toolchains\arm-linux-androideabi-4.4.3\prebuilt\gdbserver file exists.