From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29948 invoked by alias); 24 Jul 2003 15:20:04 -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 29892 invoked from network); 24 Jul 2003 15:20:03 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 24 Jul 2003 15:20:03 -0000 Received: from drow by nevyn.them.org with local (Exim 3.36 #1 (Debian)) id 19fhst-0001w4-00 for ; Thu, 24 Jul 2003 11:19:59 -0400 Date: Thu, 24 Jul 2003 15:20:00 -0000 From: Daniel Jacobowitz To: gdb@sources.redhat.com Subject: Re: gdb shows source line multiple times before executing !! Message-ID: <20030724151959.GA7423@nevyn.them.org> Mail-Followup-To: gdb@sources.redhat.com References: <3F1FEF06.20507@drexel.edu> <20030724144832.GA326@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.1i X-SW-Source: 2003-07/txt/msg00301.txt.bz2 On Thu, Jul 24, 2003 at 08:21:02PM +0530, mohanlal jangir wrote: > > > Because GCC splits the code for the line into multiple parts. Part of > > the line has executed when you step over it, but it may not be > > immediately obvious how. For instance, given: > > a = b + c; > > the first time you step over it may load b and c from memory; the > > second time may add them; and only the third will store the result into > > a. > hmm... but sometimes it behaves even worse. For example there are two lines > a = b + c; > d = e + f; > then first gdb shows line a = b + c; then d = e + f and then again a = b + > c. And while showing d = e + f first time if I try to print value of a, it > will be some uninitialised (that indicates that a = b + c has not been > executed). Then on next "next" command I will see line a = b +c again and > then valute of a will be correct one. Then there's some other cleanup to be done that the compiler hasn't finished with yet. I recommend either not worrying about it, or looking at the assembly to understand what's going on. > > > > mohanlal jangir wrote: > > > > > >While single stepping with gdb, quite frequently I see sorce lines > > appearing > > >multiple times i.e. gdb shows some line that will be executed on command > > >"next", but that is actully not. After next "next" command, I see same > > line > > >appearing. This happens two or three times and then finally that line is > > >executed. > > -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer