« Return to Thread: GDB startup session with Eclipse

Re: GDB startup session with Eclipse

by Guillaume MENANT :: Rate this Message:

Reply to Author | View in Thread

By lanching GDB in stand alone and not with Eclipse, GDB stops right after it receives the response to the g command. The error displayed is :

Remote debugging using :3000
0x40001200 in ?? ()


Then, target remote stops.

This hex value is the value of the PC sent to GDB. A program is running in my board when I launch GDB and this PC value is from my RAM. Why does it makes an error ?

Thanks.


I'm still working on the GDB startup management in my stub. The log of the sent commands is the following :

GDB ->              $Hc-1#
  Wrapper reply ->  $+#
Call unsupported or unrecognized command method
  Wrapper reply ->  $#00
GDB ->              $+#
GDB ->              $qC#
  Wrapper reply ->  $+#
Call unsupported or unrecognized command method
  Wrapper reply ->  $#00
GDB ->              $+#
GDB ->              $qOffsets#
  Wrapper reply ->  $+#
Call unsupported or unrecognized command method
  Wrapper reply ->  $#00
GDB ->              $+#
GDB ->              $?#
  Wrapper reply ->  $+#
Call ? method
Sending stop reply
  Wrapper reply ->  $S12#B6
GDB ->              $+#
GDB ->              $Hg0#
  Wrapper reply ->  $+#
Call unsupported or unrecognized command method
  Wrapper reply ->  $#00
GDB ->              $+#
GDB ->              $p44#
  Wrapper reply ->  $+#
Call unsupported or unrecognized command method
  Wrapper reply ->  $#00
GDB ->              $+#
GDB ->              $g#
  Wrapper reply ->  $+#
Call g command method
  Wrapper reply ->  $000074A3400010544000105440001054400010544000105440001054400010540001C4A9400010544000105440001054400010544000105440001054400010540003137F400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105440001054400010544000105400000000009000E60000000240000000400012584A71AA200000404000000000#52
GDB ->              $+#
GDB ->              $!#
  Wrapper reply ->  $+#
Call unsupported or unrecognized command method
  Wrapper reply ->  $#00
GDB ->              $+#
GDB ->              $qSymbol::#
  Wrapper reply ->  $+#
Call unsupported or unrecognized command method
  Wrapper reply ->  $#00
GDB ->              $+#
GDB ->              $k#
  Wrapper reply ->  $+#
Call unsupported or unrecognized command method
  Wrapper reply ->  $#00
GDB ->              $k#
  Wrapper reply ->  $+#
Call unsupported or unrecognized command method
  Wrapper reply ->  $#00
GDB ->              $+#
Deleting socket.


And here is the log received in Eclipse (send by GDB I think) :

0x40001258 in ?? ()
In Extended remote serial target in gdb-specific protocol,
#0  0x40001258 in ?? ()
target extended-remote localhost:3000
load
Invalid download offset: Eclipse/Blink/blink_ram_noflush.
info remote-process
Undefined info command: "remote-process".  Try "help info".
mi_cmd_env_cd: Usage DIRECTORY
kill


1 - What is the real purpose of the '!' command (I'm french and I don't understand weel the explanation in the GDB documentation).

2 - Is qSymbol mandatory ? What is a symbol and what are their use ?

3 - Why GDB sends me a 'k' command ? Yet, I'm assuming there is no running software in my AT697 to kill. I just want to connect to GDB and make my board enter in debug mode in order to load my application in my board using GDB. Am I right ?

4 - Why GDB closes the TCP/IP socket at the end of this exchange ?

Thanks a lot for your answers which will be very usefull to me :)



Daniel Jacobowitz-2 wrote:
On Wed, Dec 19, 2007 at 10:02:12AM -0800, Guillaume MENANT wrote:
>
> Thanks. I've seen this part about the '+' and '-' but I haven't realized that
> it was in both sides :-/ Here is the current conversation between my
> software (<-) and GDB controlled by Eclipse (->) :
>
> -> 'qSupported'
> <- 'qXfer:memory-map:read+'

Make sure you have the encapsulation and checksumming right.

Try 'set debug serial 1' and 'set debug remote 1'.

--
Daniel Jacobowitz
CodeSourcery

 « Return to Thread: GDB startup session with Eclipse