MI async status output

Bob Rossi bob@brasko.net
Fri Apr 18 13:11:00 GMT 2014


On Fri, Apr 18, 2014 at 12:20:25PM +0400, Vladimir Prus wrote:
> On 12.04.2014 04:25, Bob Rossi wrote:
> 
> >3)
> >     +download,{section=".interp",section-size="28",total-size="2466"}
> >              ^ (, eaten here)
> >     async-output ==>
> >         async-class ( "," result )*
> >
> >4) Error here: result must start with a variable name.
> >     +download,{section=".interp",section-size="28",total-size="2466"}
> >               ^ (syntax error)
> >     result ==>
> >         variable "=" value
> >     variable ==>
> >         string
> >
> >Did I find a bug or is this well known behavior of GDB and MI?
> >
> >If it's well known behavior, can anyone explain it? It's possible that
> >result could be just a 'value' instead of 'variable = value'. In this
> >case that would solve the problem perhaps.
> 
> whereas MI has grammar, the fact that actual output does not always match the
> grammar is well known. This specific problem was not known to me.
> 
> It is obviously possible to fix in a parser. It's also possible to fix in GDB,
> but as usual the question of what existing frontends might depend on this behaviour.

Thanks for the response. I'm writing a new grammar that will be open
source that handles as many possible outputs that GDB outputs, for as
many possible GDB versions. I'm writing unit and system tests to
validate this effort.

I'm taking notes every time i have to modify the parser to detail the
reasons why.

When I'm done, perhaps we can update GDB's manual with the new grammar
that I constuct, considering the one in the manual is just plain wrong.

Thanks,
Bob Rossi



More information about the Gdb mailing list