gdbserver/remote debug on android
emulator:
gdbserver :5039 /data/uxlaunch
local:
e:\linux\Android\android-sdk\platform-tools>adb forward tcp:5039 tcp:5039
e:\linux\Android\android-sdk\platform-tools>e:\android-ndk-r7-windows\mytoolchain\bin\arm-linux-androideabi-gdb.exe d:\linux\linuxkernel\meego\src\merproject\uxlaunch\uxlaunch-0.64\src\uxlaunch
set debug remote 1
set solib-search-path e:/linux/Android/android-yaffs2-tools-cygwin/system/lib/
set breakpoint pending on
show dir
dir d:/linux/linuxkernel/meego/src/merproject/uxlaunch/uxlaunch-0.64/src/
target remote :5039
something like the following would show up, just ignore it:
emulator:gdb: Unable to get location for thread creation breakpoint: requested event is not supported
local:warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
0xb0001000 in ?? ()
then local:
b main
c
like the following:
(gdb) b main
Breakpoint 1 at 0xe890: file uxlaunch.c, line 90.
(gdb) c
Continuing.
Error while mapping shared library sections:
/system/bin/linker: No such file or directory.
[New Thread 290]
[Switching to Thread 290]
Breakpoint 1, main (argc=1, argv=0xbe9bacd4) at uxlaunch.c:90
90 get_options(argc, argv);
then you can s,n,l... as you wish in local gdb.