From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26702 invoked by alias); 11 Mar 2005 21:39:42 -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 26553 invoked from network); 11 Mar 2005 21:39:33 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 11 Mar 2005 21:39:33 -0000 Received: from drow by nevyn.them.org with local (Exim 4.44 #1 (Debian)) id 1D9rr1-0003ry-MB; Fri, 11 Mar 2005 16:39:31 -0500 Date: Fri, 11 Mar 2005 21:39:00 -0000 From: Daniel Jacobowitz To: Nick Roberts , Dave Korn , Karganov Konstantin , GDB Subject: Re: MI output command error Message-ID: <20050311213931.GA14846@nevyn.them.org> Mail-Followup-To: Nick Roberts , Dave Korn , Karganov Konstantin , GDB References: <16946.1979.617105.196894@farnswood.snap.net.nz> <20050311213042.GA14428@nevyn.them.org> <20050311213627.GA16933@white> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050311213627.GA16933@white> User-Agent: Mutt/1.5.6+20040907i X-SW-Source: 2005-03/txt/msg00128.txt.bz2 On Fri, Mar 11, 2005 at 04:36:27PM -0500, Bob Rossi wrote: > On Fri, Mar 11, 2005 at 04:30:43PM -0500, Daniel Jacobowitz wrote: > > On Sat, Mar 12, 2005 at 10:03:55AM +1300, Nick Roberts wrote: > > > > > > > I'm as mystified as Dave as to how you could read the manual and > > > > believe GDB/MI was designed to operate synchronously. A number of MI > > > > commands have documentation that begins with "Asynchronous command." In > > > > particular, look at -exec-interrupt, which makes no sense as a > > > > synchronous command. > > > > > > I think the problem that people like Bob and myself have with this, is that > > > when GDB is compiled out of the box, it doesn't operate asynchronously. So > > > if we run GDB using MI, -exec-interrupt *doesn't* interrupt the inferior: > > > ... > > > ^done > > > (gdb) > > > 111-exec-continue > > > 111^running > > > (gdb) > > > 222-exec-interrupt > > > > > > Dave Korn's explanation is very helpful. Considering the MI output to be > > > asynchronous, makes it much easier to understand. The fact remains, however, > > > that for native targets at least (the most common configuration?), operation > > > is synchronous. It leads me to wonder how this discrepancy arises. > > > > Lack of implementation. No one's done the work. > > So currently, is it best to realize that the MI protocol is asynchronous, > but to treat GDB as if it's executing syncronously? > > Basically, send commands to GDB as if the MI interface was synchronous? I don't know what's best. I've never implemented anything having to do with MI. You, as the man on the ground, get to decide that :-) "Best" would presumably be to implement async operation in GDB; I have no idea what's involved. -- Daniel Jacobowitz CodeSourcery, LLC