This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
RE: Can gdbmi process many commands at once?
- From: Marc Khouzam <marc dot khouzam at ericsson dot com>
- To: Vladimir Prus <vladimir at codesourcery dot com>, "gdb at sourceware dot org" <gdb at sourceware dot org>
- Date: Fri, 20 Mar 2015 13:39:42 +0000
- Subject: RE: Can gdbmi process many commands at once?
- Authentication-results: sourceware.org; auth=none
- References: <20150320012207 dot GB25457 at linux>,<megbsh$haa$1 at ger dot gmane dot org>
> From: gdb-owner@sourceware.org [gdb-owner@sourceware.org] on behalf of Vladimir Prus [vladimir@codesourcery.com]
> Sent: March 20, 2015 1:40 AM
> To: gdb@sourceware.org
> Subject: Re: Can gdbmi process many commands at once?
>
> On 03/20/2015 04:22 AM, Bob Rossi wrote:
> > Hi,
> >
> > I'm trying to determine if GDB/MI has the capability of accepting and
> > working on multiple commands at once?
> >
> > For instance, if I run these commands,
> > (gdb)
> > 123-interpreter-exec console "p argc"
> > ~"$3 = 1"
> > ~"\n"
> > 123^done
> > (gdb)
> > 234-interpreter-exec console "p argv[1]"
> > ~"$4 = 0x0\n"
> > 234^done
> >
> > Is there any mode in which the command,
> > 234-interpreter-exec console "p argv[1]"
> > will be worked on before
> > 123-interpreter-exec console "p argc"
> > is finished?
> >
> > The implication is that i'm expecting to have at most 1 command active
> > with GDB at a time. I'm curious if there is a situation where a front
> > end could have many active commands at a time. By active I mean,
> > I issue several commands, and then some time later, I get a response
> > on each of these, in any order.
>
> Bob,
>
> it is not possible with the current GDB. All of the commands are executed in the single
> thread GDB has, in the order they were received.
>
> It is possible, in theory, that somebody will require GDB in node.js, or introduce asynchronous
> operation using boost.asio or similar, but that's quite unlikely scenario.
Eclipse, for example, is dependent on MI commands being processed as they are
sent. It allows the front-end to send multiple commands at once (Eclipse goes up to 3) without
worrying about it causing problems of ordering.
Marc