lovespring
lovespring

Reputation: 19589

Remote debugging Android NDK program from eclipse

Android(gdbserver run in Android) says:

gdb: Unable to get location for thread creation breakpoint: requested event is not supported

So, how can I know the gdb commands sent by eclipse?

P.S. Can be debugged in cygwin shell, just cannot be debugged in eclipse. I don't know which commands sent by eclipse.

Upvotes: 3

Views: 3836

Answers (1)

Jason LeBrun
Jason LeBrun

Reputation: 13293

The gdbserver included in the android NDK (at least as of r4b) doesn't support debugging in multiple threads. I had nominal luck following John Michelau's comment here:

http://honeypod.blogspot.com/2008/01/debug-native-application-for-android.html

Multi-threaded applications now seem to be supported. The key is to run the GDB client from the one installed in the Android source tree at prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gdb.

Even after doing that, I'm only able to debug threads after my native library has been loaded. This is because GDB doesn't know about Android's linker:

warning: Unable to find dynamic linker breakpoint function. GDB will be unable to debug shared library initializers and track explicitly loaded dynamic code.

Upvotes: 4

Related Questions