This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: MI: output of -break-insert and -break-watch


On Fri, Feb 17, 2006 at 05:13:52PM +0300, Vladimir Prus wrote:
> > I don't get it.  Why is this a problem?  It sounds to me like the only
> > reason this would be awkward would be limitations of your front end.
> > If you've done -break-insert you should expect a bkpt response, if
> > you've done -break-watch you should expect a wpt response.
> 
> Here's the code I use now to extract breakpoint id from response:
> 
>             int id = -1;
> 
>             if (r.hasField("bkpt"))
>                 id = r["bkpt"]["number"].literal().toInt();
>             else if (r.hasField("wpt"))
>                 id = r["wpt"]["number"].literal().toInt();
>             else if (r.hasField("hw-rwpt"))
>                 id = r["hw-rwpt"]["number"].literal().toInt();
> 
> And there's also "hw-awpt", and in future there might be "catchpoint" and
> "fork" and what not. 
> 
> If I only want to extract the *id* of breakpoint, why do I need to write
> such boilerplate? Or should I write a function that will iterate over all
> fields of 'r', and check if that field has nested field called 'number'?

This still sounds to me like it has more to do with the architecture of
your front-end than it does with meaningful layout of MI.  This is only
about the response to -break-insert and -break-watch as far as I
understand.  So if you want to avoid the conditional, you can record
which type to expect when you issue the command.  Or leave the
conditional; it's not that bad, is it?

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]