There appeared to be limited resources on the net and on this mailing list for help getting gdb to work, so I thought I’d share my success.  In this example the program to debug is named ‘arm_executable’:

 

-          I used ‘make menuconfig’ in the buildroot to enable building both GDB server and GDB client on host;

-          built the buildroot using ‘make’;

-          flashed the new rootfs to the gumstix;

-          ran ‘gdbserver localhost:2000 arm_executable’ on the gumstix;

-          ran gdb from directory ‘buildroot/toolchain_build_arm_nofpu/gdbclient-6.3/gdb/’ with options ‘-symbols arm_executable’ – i.e. ‘./gdb -symbols arm_executable’

-          used command ‘target remote 192.168.1.103:2000’ in gdb, where 192.168.1.103 is the IP of my gumstix;

-          and everything worked!

 

The trick here is to use the ‘-symbols’ option instead of just ‘./gdb arm_executable’; for me this got rid of a problem that manifested as “SIGILL – illegal instruction” in gdb.  Another thing to watch out for is to specify a path when running gdb, because you don’t want the normal gdb likely installed on your system and in your path to be used.

 

Hopefully this will save someone some trouble.

 

--Russell Silva