I want to debug a native library loaded by JNI on Android. I have set up the debugging environment to debug native code running on Bluestacks.
I got gdbserver installed on rooted Bluestacks, running in Windows environment, and I have gdb obtained from Adroid NDK on my Windows box.
I found out though that I am not able to debug ARM native code running on Bluestacks as the OS is running in i686 architecture and ARM is very likely emulated somehow by Bluestacks engine.
I can get a connection from gdb to gdbserver running on i686, but I can't set the architecture to arm (
set architecture arm) afterwards and the debugger wants to operate with i686 registers.
Is there any way to actually set up gdb and gdbserver to switch to ARM architecture while the android is compiled for i686 arch and it does run on i686 which is my Windows box? I heard about gdb-multiarch, but I'm not sure if it is what I need. I tried gdb 7.6 from MinGW package, but it also didn't help.