From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1145 invoked by alias); 1 Sep 2006 03:13:28 -0000 Received: (qmail 1095 invoked by uid 22791); 1 Sep 2006 03:13:26 -0000 X-Spam-Check-By: sourceware.org Received: from mx2.palmsource.com (HELO mx2.palmsource.com) (12.7.175.14) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 01 Sep 2006 03:13:24 +0000 Received: from localhost (localhost [127.0.0.1]) by localhost.domain.tld (Postfix) with ESMTP id B4FC626D2E; Thu, 31 Aug 2006 20:13:22 -0700 (PDT) Received: from mx2.palmsource.com ([127.0.0.1]) by localhost (mx2.palmsource.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 28431-02-4; Thu, 31 Aug 2006 20:13:21 -0700 (PDT) Received: from ussunex01.palmsource.com (unknown [192.168.101.9]) by mx2.palmsource.com (Postfix) with ESMTP id 78F4D26D2D; Thu, 31 Aug 2006 20:13:21 -0700 (PDT) Received: from 192.168.92.59 ([192.168.92.59]) by ussunex01.palmsource.com ([192.168.101.9]) via Exchange Front-End Server owa.palmsource.com ([10.0.20.17]) with Microsoft Exchange Server HTTP-DAV ; Fri, 1 Sep 2006 03:13:20 +0000 Received: from svmsnyderlnx by owa.palmsource.com; 31 Aug 2006 20:13:19 -0700 Subject: Re: Error running remote gdb From: Michael Snyder To: Daniel Jacobowitz Cc: "Bizhan Gholikhamseh (bgholikh)" , gdb@sourceware.org In-Reply-To: <20060831232835.GA21472@nevyn.them.org> References: <1157064448.4466.45.camel@localhost.localdomain> <20060831232835.GA21472@nevyn.them.org> Content-Type: text/plain Content-Transfer-Encoding: 7bit Date: Fri, 01 Sep 2006 03:13:00 -0000 Message-Id: <1157080399.4466.59.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.4.1 X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-09/txt/msg00004.txt.bz2 On Thu, 2006-08-31 at 19:28 -0400, Daniel Jacobowitz wrote: > On Thu, Aug 31, 2006 at 03:47:28PM -0700, Michael Snyder wrote: > > This is the first breakpoint that gdb set, above. > > I'm pretty sure now that it's the thread event breakpoint. > > More likely it's the shared library event breakpoint; we don't set the > thread breakpoints until after we've got a load event for libpthread. Right. > > > Packet received: T0501:7ffffd30;40:10000560;thread:6098; > > > [Switching to thread 24728] > > > > Sending packet: $m3000ce98,4#c9...Ack > > > Packet received: 9421fff0 > > > Sending packet: $M3000ce98,4:7d821008#b1...Ack > > > Packet received: OK > > > Sending packet: $m10000560,4#59...Ack > > > Packet received: 48000181 > > > Sending packet: $M10000560,4:7d821008#41...Ack > > > Packet received: OK > > > Sending packet: $vCont;s:6098;c#67...Ack > > > > Finally, gdb restores the breakpoints and tells the target > > to continue. > > > > > Packet received: T0501:7ffffd30;40:10000560;thread:6098; > > > > Whereupon we immediately hit the breakpoint at main. > > This is where we went wrong. This shouldn't have happened. > > Actually, this looks fine. But we're at 0x10000560; why are we > reinserting the breakpoint _at this address_ and then continuing? > Normally you leave the breakpoint out to step over it. Yeah, that's what I meant. Assuming nothing's wrong with gdb, it should know that it has to step past the breakpoint before inserting it -- unles that's part of the semantics of vCont, which is the part I didn't know. > I can't think what could cause that. > > > This is where I have to admit that I don't know the exact > > semantics of the vCont message. Over to you, Daniel? > > That's a "step only thread 6098, continue all other threads" > packet, in other words, it corresponds to a single step > other than over a breakpoint. If we're stepping over a breakpoint we'd > have not had the trailing ;c. >