Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: "Newman, Sarah R" <sarah.r.newman@lmco.com>
To: Jim Blandy <jimb@red-bean.com>
Cc: Daniel Jacobowitz <drow@false.org>, gdb@sources.redhat.com
Subject: RE: single stepping mips remote programs built with gcc 4.0
Date: Wed, 23 Nov 2005 03:09:00 -0000	[thread overview]
Message-ID: <5990BE666D0436419054489CDD9D505409EE88F9@emss01m10.us.lmco.com> (raw)


 

> You've talked about GDB inserting breakpoints for software
> single-stepping, but you're not using software single-stepping here. 
> Those memory writes are for your user breakpoints at the entry point
> and exit point of main.  The 's' packet indicates that the stub itself
> is doing the single-stepping.

Which run?  The first run I had a user breakpoint at the very beginning of main, the second run I had the breakpoint one instruction after the beginning.

Run 1:

Num Type           Disp Enb Address    What
1   breakpoint     keep y   0xffffffff80001998 in main at tmp.c:11
2   breakpoint     keep y   0xffffffff800019b0 in main at tmp.c:14

gdb) step
(gdb) p/x $pc
$2 = 0x800019a0

(gdb) set debug remote 1
(gdb) step
Sending packet: $m80001998,4#70...Ack
Packet received: 27bdffe8
Sending packet: $M80001998,4:0005000d#43...Ack <-- user breakpoint
Packet received: OK
Sending packet: $m800019b0,4#91...Ack
Packet received: 03e00008
Sending packet: $M800019b0,4:0005000d#64...Ack <-- user breakpoint
Packet received: OK
Sending packet: $s#73...Ack
Packet received: S05
Sending packet: $p25#d7...Ack
Packet received: 800019a4
Sending packet: $s#73...Ack
Packet received: S05
Sending packet: $p25#d7...Ack
Packet received: 80001990
Sending packet: $p1d#05...Ack
Packet received: 8402ba60
Sending packet: $p1f#07...Ack
Packet received: 800019a8
Sending packet: $m8000199c,4#9b...Ack
Packet received: afbf0010
Sending packet: $m800019a0,4#90...Ack
Packet received: 0c000664   
Sending packet: $m800019a4,4#94...Ack
Packet received: 00000000
Sending packet: $c#63...Ack  

----
Run 2:

Num Type           Disp Enb Address    What
2   breakpoint     keep y   0xffffffff800019b0 in main at tmp.c:14
3   breakpoint     keep y   0xffffffff8000199c in main at tmp.c:11 <-- one instruction later than run 1

Sending packet: $m800019b0,4#91...Ack
Packet received: 03e00008
Sending packet: $M800019b0,4:0005000d#64...Ack <-- user breakpoint
Packet received: OK
Sending packet: $m8000199c,4#9b...Ack
Packet received: afbf0010
Sending packet: $M8000199c,4:0005000d#6e...Ack <-- user breakpoint
Packet received: OK
Sending packet: $Hc0#db...Ack
Packet received: ENN
Sending packet: $s#73...Ack
Packet received: S05
Sending packet: $p25#d7...Ack
Packet received: 800019a4
Sending packet: $s#73...Ack
Packet received: S05
Sending packet: $p25#d7...Ack
Packet received: 80001990
Sending packet: $p1d#05...Ack
Packet received: 8402ba60
Sending packet: $p1f#07...Ack
Packet received: 800019a8
Sending packet: $m80001998,4#70...Ack
Packet received: 27bdffe8
Sending packet: $m800019a0,4#90...Ack
Packet received: 0c000664
Sending packet: $m800019a4,4#94...Ack
Packet received: 00000000
Sending packet: $m80001998,4#70...Ack
Packet received: 27bdffe8
Sending packet: $M80001998,4:0005000d#43...Ack <-- not user breakpoint
Packet received: OK
Sending packet: $c#63...Ack
Packet received: S02
Sending packet: $p25#d7...Ack
Packet received: 800019b0

> 
> > Sending packet: $m8000199c,4#9b...Ack
> > Packet received: afbf0010
> > Sending packet: $m800019a0,4#90...Ack
> > Packet received: 0c000664
> > Sending packet: $m800019a4,4#94...Ack
> > Packet received: 00000000
> 
> This is weird.  It looks like GDB is doing some prologue analysis
> here, but it's not starting at any function's entry point.  That,
> combined with the fact that you said that disassembly shows you the
> wrong code, makes me wonder if the debug info is right.
> 
> When you say 'print &a' or 'print &main', do you get the 
> right addresses?
  
Yes, I get the right addresses. When I disassemble the functions in the console I get the right thing too.
But when I use insight to show an assembly listing of a particular function, it shows the function after.  I did not realize that disassembling in the console and showing the assembly of a function with insight could give different results. 

I said something inaccurate before -- I was compiling this program with "-gstabs+" , not "-g".  I have seen different behavior depending on if I use "-g" or "-gstabs+" with some other programs, but I just tried both flags and it doesn't seem to make a difference here.


             reply	other threads:[~2005-11-23  2:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-23  3:09 Newman, Sarah R [this message]
  -- strict thread matches above, loose matches on Subject: below --
2005-11-22 20:00 Newman, Sarah R
2005-11-22 19:48 Newman, Sarah R
2005-11-22  5:26 Newman, Sarah R
2005-11-22 19:24 ` Daniel Jacobowitz
2005-11-23  0:50 ` Jim Blandy
2005-11-17 22:39 Newman, Sarah R
2005-11-17 22:48 ` Daniel Jacobowitz
2005-11-17 20:13 Newman, Sarah R
2005-11-17 20:23 ` Daniel Jacobowitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5990BE666D0436419054489CDD9D505409EE88F9@emss01m10.us.lmco.com \
    --to=sarah.r.newman@lmco.com \
    --cc=drow@false.org \
    --cc=gdb@sources.redhat.com \
    --cc=jimb@red-bean.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox