While I am pretty sure I had this working at one point, at the moment, I cannot get gdbserver to work. (When I think it was working, it was on a different board -- I had to send mine back for replacement because the GigE did not work correctly).
I can fire up gdbserver with my executable, and connect to it via arm-none-linux-gnueabi-gdb over the network. gdb lets me set a breakpoint, but when I continue, the break point is never hit (I set the breakpoint on main, so it should stop on the first line of my program). If I hit control-C on the board, the program stops in gdb, so I know that the connection is working and the basic functionality is there, but without breakpoints, it is not terribly useful.
A little bit of research on the web seems to indicate that this might be a kernel problem, but I am not sure how to investigate. This happens for me with both the evm defconf and a custom configuration for the kernel.
Has anyone else experience this? Any work-arounds?
Also, the debug symbols created by arm-none-linux-gnueabi-gcc with -g are not readable by arm-none-linux-gnueabi-gdb (it complains about improperly formatted dwarf information). If I use -gstabs or -gstabs+ then gdb can read the symbol info, but then I am back to the breakpoints not firing.
Best regards,
B.J. Buchalter