From mboxrd@z Thu Jan 1 00:00:00 1970 From: "xavier" To: Subject: Re: [ECOS] GDB stubs problem Date: Mon, 28 May 2001 22:41:00 -0000 Message-id: <002901c0e801$4184d6d0$db2314ac@rt3880> References: <000f01c0e76f$96fea1f0$db2314ac@rt3880> <20010528101237.A26590@buici.com> X-SW-Source: 2001-05/msg00470.html My target is a MIPS R3000 architecture, not x86, so I can't run the Linux's GDB. I turned on the remote debug in GDB as following: (gdb) set remotebaud 19200 (gdb) set debug remote 1 (gdb) target remote com1 Remote debugging using com1 Sending packet: $Hc-1#09...Sending packet: $Hc-1#09...Sending packet: $Hc-1#09.. .Sending packet: $Hc-1#09...Timed out. Timed out. Timed out. Ignoring packet error, continuing... Sending packet: $qC#b4...Sending packet: $qC#b4...Sending packet: $qC#b4...Sendi ng packet: $qC#b4...Timed out. Timed out. Timed out. Ignoring packet error, continuing... Sending packet: $qOffsets#4b...Sending packet: $qOffsets#4b...Sending packet: $q Offsets#4b...Sending packet: $qOffsets#4b...Timed out. Timed out. Timed out. Ignoring packet error, continuing... Couldn't establish connection to remote target Malformed response to offset query, timeout (gdb) Then I logged every characters came from serial port in function hal_jmr_get_char() in packages/hal/mips/jmr3904/v1_3_1/src/plf_stub.c. The results show that when the GDB tried to connect to the target, it sent the following packets: +$H9$Hc9$Hc9$Hc9---+$4$qC4$qC4$qC4---+$b$qOb$qOb$qOb---+ But according the debug messages shown on GDB's console above, the packets are: $Hc-1#09$Hc-1#09$Hc-1#09$Hc-1#09$qC#b4$qC#b4$qC#b4$qC#b4 $qOffsets#4b$qOffsets#4b$qOffsets#4b$qOffsets#4b Why aren't they equal? I guess it's the problem that causes the connection failed. Could someone help me? Thanks. > I've had the same problem. Are you, by chance, trying to use gdb5.0 > for x86? If so, try the gdb that comes with your Linux distrubution. > I found that gdb5.0 didn't work. > > On Mon, May 28, 2001 at 08:13:22PM +0800, xavier wrote: > > > > Hi, > > > > I'm trying GDB stubs support in eCos. I build both gdb_module.img and > > a test program with GDB stubs included. When the gdb_module.img > > starts in the target, it sends the following packet: > > > > ++$T0525:a0307a34;1d:80005420;#2 > > > > It seems OK. The gdb_module is waiting for a connection. Then I connect > > GDB to the target. The target receives the following packet: > > > > +$H9$Hc9$Hc9$Hc9---+$4$qC4$qC4$qC4---+$b$qOb$qOb$qOb---+ > > > > (gdb) target remote com1 > > Remote debugging using com1 > > Ignoring packet error, continuing... > > Ignoring packet error, continuing... > > Ignoring packet error, continuing... > > Couldn't establish connection to remote target > > Malformed response to offset query, timeout > > (gdb) > > > > I looked into the source code and found that in getpacket() in generic-stubs.c, > > __add_char_to_packet() expects a '#' character to finish a packet but there is > > no '#' character sent from GDB. So getpacket() ran forever. > > > > Any suggestion? > > >