Version 2 (modified by 12 years ago) (diff) | ,
---|
debugging native code in Android.
(setting this up is not needed to do java debugging, you just can't step into native functions.)
before starting
You should at first compile the library yourself.
Then, go to the android ndk directory. There should be a file ndk-gdb. Copy it, name the copy ndk-gdb-eclipse, and remove the following, last line:
$GDBCLIENT -x
native_path $GDBSETUP
in Eclipse
- Open the External Tools Configuration Dialog.
- Add a new Program by double-clicking on Program on the left side.
- Select the ndk-gdb-eclipse script you just created.
- Select the build tab, and disable Build before launch.
- Hit Apply, Close.
- (skip for Testclient) Set android:debuggable="true" in your application definition in the AndroidManifest?.xml.
- Open the debug configuration dialog.
- Create a new Debug configuration by double-clicking on C/C++ Attach to Application
- This needs to be done in the main tab:
- Enter im.pidgin.libpurple as Project name
- Enter Android/libim.pidgin.libpurple.so as C/C++ Application name (or just click on Search project... to find it)
- Select Disable auto build
- Go to the debugger tab.
- Select gdbserver as Debugger.
- Enter ${ndk.root}/bin/arm-linux-androideabi-gdb in the GDB debugger filed.
- As command file, select the gdb.setup file in the native directory.
- In the connection tab, enter TCP as connection type, localhost as target and 5039 as port.
- Hit apply.
- Create a new Launch group by double-clicking on Launch group.
- Add the Program launcher you created. You should set "Post launch action" to "Wait until terminated".
- Add your Debug configuration we just created
- Give it a nice name.
- Close the dialog by hitting Apply and Close.
Start debugging
When you want to debug native code, do the following:
- Add a breakpoint before initializing libpurple, e.g. in your Applications onCreate().
- Start your application in the normal Android debug mode. It should pause at that breakpoint.
- Then start your debug configuration, by clicking on Debug Configurations..., selecting the Launch group you created and hitting Debug.