From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15341 invoked by alias); 22 Nov 2003 13:46:55 -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 15334 invoked from network); 22 Nov 2003 13:46:54 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 22 Nov 2003 13:46:54 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id hAMDksH28154 for ; Sat, 22 Nov 2003 08:46:54 -0500 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [172.16.52.156]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id hAMDksw28764; Sat, 22 Nov 2003 08:46:54 -0500 Received: from deneb.localdomain (msalter.cipe.redhat.com [10.0.0.36]) by pobox.corp.redhat.com (8.12.8/8.12.8) with ESMTP id hAMDkr89017676; Sat, 22 Nov 2003 08:46:53 -0500 Received: by deneb.localdomain (Postfix, from userid 500) id 4D2E17879F; Sat, 22 Nov 2003 08:46:53 -0500 (EST) From: Mark Salter To: manojv@noida.hcltech.com Cc: gdb@sources.redhat.com In-reply-to: <1B3885BC15C7024C845AAC78314766C5010336EC@EXCH-01> (manojv@noida.hcltech.com) Subject: Re: remote debugging packets References: <1B3885BC15C7024C845AAC78314766C5010336EC@EXCH-01> Message-Id: <20031122134653.4D2E17879F@deneb.localdomain> Date: Sat, 22 Nov 2003 13:46:00 -0000 X-SW-Source: 2003-11/txt/msg00216.txt.bz2 > Do you mean to indicate that the debugger may not stop at line #YY in this > case? If I understand you, it would stop at #xx. If you step or continue, it would stop at #yy. On a step or continue from #yy, it would stop at #zz. It would not stop at #yy again because #yy is one machine instruction. --Mark >> -----Original Message----- >> From: Mark Salter [mailto:msalter@redhat.com] >> Sent: Friday, November 21, 2003 9:37 PM >> To: manojv@noida.hcltech.com >> Cc: gdb@sources.redhat.com >> Subject: Re: remote debugging packets >> >> >> >>>>> Manoj Verma, Noida writes: >> >> > Let me explain my concern in this way... >> > I have following C snippet: >> >> > ... >> > for(i=0; i<100; i++) // say line #xx >> > *b0++ = *b1++; // say line #yy >> > ... >> >> > and the assembly instruction corresponding to it is: >> >> > ... >> > lc = 100; >> > rep(lc) *b0++ = *b1++; >> > ... >> >> > I set the breakpoint to both of these lines xx & yy. >> >> > Now when I am at XX, I say 'Continue'. If it steps first >> then it comes to >> > line #yy. Then if it continues, then I will not see my >> program stopping at >> > YY where it should. >> >> > Or is it like, before proceeding from line #YY the debugger >> looks for some >> > traps present at that particular line and then continues.. >> >> > Pl. correct me if I am wrong. >> >> If compiler optimization causes the loop to be executed as a >> single machine instruction (as in your example), then there is >> nothing GDB can do about it. GDB's behavior would be to stop >> after the loop finishes because the loop is actually one machine >> instruction. This seems reasonable to me. >> >> --Mark >>