From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8914 invoked by alias); 7 Jul 2004 20:25:16 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 8898 invoked from network); 7 Jul 2004 20:25:14 -0000 Received: from unknown (HELO mproxy.gmail.com) (64.233.170.205) by sourceware.org with SMTP; 7 Jul 2004 20:25:14 -0000 Received: by mproxy.gmail.com with SMTP id c3so111434rnb for ; Wed, 07 Jul 2004 13:25:12 -0700 (PDT) Received: by 10.38.79.4 with SMTP id c4mr24919rnb; Wed, 07 Jul 2004 13:25:12 -0700 (PDT) Message-ID: <3e599100040707132534373483@mail.gmail.com> Date: Wed, 07 Jul 2004 20:25:00 -0000 From: Nagender Telkar To: Ramana Radhakrishnan Subject: Re: Adding backtrace to an arm-based on-target debugger Cc: gdb@sources.redhat.com In-Reply-To: <40E8DA64.60705@codito.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <3e59910004070417407ad2bdf8@mail.gmail.com> <40E8DA64.60705@codito.com> X-SW-Source: 2004-07/txt/msg00057.txt.bz2 Hello All, I am trying to get the back trace working for an arm-based target debugger. The remote gdb protocol does not specify about the handshakes that go on between the gdb and the remote target. I am using GNU gdb 6.0 configured as "--host=i686-pc-cygwin --target=arm-elf". Can someone tell me which registers does the gdb use when it is trying to do a backtrace? On what basis does it send out the "$m" command? What is the protocol involved? What happens if the enviornment in which the application being debugged is compiled by "armcc", but the debuggable application is compiled in "arm-elf-gcc"? The application being debugged(by arm-elf-gcc) jumps in and out of the armcc compiled code. The following is the set of register values shown on the gdb prompt. I have also shown what happens after I do a "bt" at the command prompt. Any help would be greatly appreciated. Thanks in advance. Nagender (gdb) i r r0 0xd380c0 13861056 r1 0xb0c478 11584632 r2 0xd11a68 13703784 r3 0x0 0 r4 0xd38124 13861156 r5 0xd50aec 13961964 r6 0xb0c494 11584660 r7 0xb0c978 11585912 r8 0x0 0 r9 0xd3da98 13884056 r10 0x69817c 6914428 r11 0xb00fb0 11538352 r12 0xb00fb4 11538356 sp 0xb00d44 11537732 lr 0x602c 24620 pc 0x2058 8280 fps 0x0 0 cpsr 0x0 0 (gdb) bt Sending packet: $mb00f98,4#66...Ack Packet received: c080d300 #0 ET_SaveReport (pApp=0xd380c0) at et_dbfunctions.c:732 Sending packet: $mb00fac,4#b9...Ack Packet received: 100bd500 Sending packet: $mb00fa4,4#8a...Ack Packet received: cc0fb000 Sending packet: $mb00fac,4#b9...Ack Packet received: 100bd500 Sending packet: $mb00fac,4#b9...Ack Packet received: 100bd500 Sending packet: $mb00fcc,4#bb...Ack Packet received: fc0ad500 Sending packet: $md50af4,4#91...Ack Packet received: 04b04ce2 Sending packet: $md50af8,4#95...Ack Packet received: 08d04de2 Sending packet: $md50afc,4#c0...Ack Packet received: 14000be5 Sending packet: $md50b00,4#58...Ack Packet received: 14301be5 Sending packet: $md50b04,4#5c...Ack Packet received: 18300be5 Sending packet: $md50b08,4#60...Ack Packet received: 18001be5 Sending packet: $md50b0c,4#8b...Ack Packet received: 01f0ffeb Sending packet: $md50b10,4#59...Ack Packet received: 18001be5 Sending packet: $md50b14,4#5d...Ack Packet received: e7eeffeb Sending packet: $md50b18,4#61...Ack Packet received: 18301be5 Sending packet: $md50b1c,4#8c...Ack Packet received: 0c3093e5 Sending packet: $md50b20,4#5a...Ack Packet received: 003093e5 Sending packet: $md50b24,4#5e...Ack Packet received: 18201be5 Sending packet: $md50b28,4#62...Ack Packet received: 2c4093e5 Sending packet: $md50b2c,4#8d...Ack Packet received: 0c0092e5 Sending packet: $md50b30,4#5b...Ack Packet received: bb1fa0e3 Sending packet: $mb00fa4,4#8a...Ack Packet received: cc0fb000 Sending packet: $mb00fac,4#b9...Ack Packet received: 100bd500 #1 0x00d50b10 in ?? () Sending packet: $mb00fac,4#b9...Ack Packet received: 100bd500 Sending packet: $mb00fa4,4#8a...Ack Packet received: cc0fb000 Sending packet: $mb00fac,4#b9...Ack Packet received: 100bd500 Sending packet: $mb00fac,4#b9...Ack Packet received: 100bd500 Sending packet: $mb00fcc,4#bb...Ack Packet received: fc0ad500 Sending packet: $md50af4,4#91...Ack Packet received: 04b04ce2 Sending packet: $md50af8,4#95...Ack Packet received: 08d04de2 Sending packet: $md50afc,4#c0...Ack Packet received: 14000be5 Sending packet: $md50b00,4#58...Ack Packet received: 14301be5 Sending packet: $md50b04,4#5c...Ack Packet received: 18300be5 Sending packet: $md50b08,4#60...Ack Packet received: 18001be5 Sending packet: $md50b0c,4#8b...Ack Packet received: 01f0ffeb Sending packet: $md50b10,4#59...Ack Packet received: 18001be5 Sending packet: $md50b14,4#5d...Ack Packet received: e7eeffeb Sending packet: $md50b18,4#61...Ack Packet received: 18301be5 Sending packet: $md50b1c,4#8c...Ack Packet received: 0c3093e5 Sending packet: $md50b20,4#5a...Ack Packet received: 003093e5 Sending packet: $md50b24,4#5e...Ack Packet received: 18201be5 Sending packet: $md50b28,4#62...Ack Packet received: 2c4093e5 Sending packet: $md50b2c,4#8d...Ack Packet received: 0c0092e5 Sending packet: $md50b30,4#5b...Ack Packet received: bb1fa0e3 Sending packet: $mb00fac,4#b9...Ack Packet received: 100bd500 (gdb) On Mon, 05 Jul 2004 10:04:44 +0530, Ramana Radhakrishnan wrote: > > >I am working on developing an on-target debugger for applications on > >an arm-based target. I need to add a backtrace feature to it. > > > >Can someone tell me where to look for the gdb serial protocol? > > > > > 1. info gdbint. > 2. gdb/remote.c > > >When I do a "bt" on the gdb prompt I get only the current frame. It > >does not go beyond the current frame. It is as shown below. > > > >#0 Test_Func(nValue=525, psValueBuf=0xb00f0c, > >Sending packet: $mb00ee0,4#89...Ack > >Packet received: 14000000 > > nValueBufSize=20) at et_amountctl.c:390 > >#1 0x00d4b9e4 in ?? () > > > >Can you tell me what do I need to do in the target-side stub? > > > > > > > Please submit your problem with a script of your debug session showing > exactly all that you did before this and a small testcase mentioning the > version of gdb , gcc and binutils that you are currently using for this. > > You could take a look at the script command in bash or you could use > emacs to capture the debug session using M-x gdb . > > cheers > Ramana >