Robustifying pretty-printers
André Pönitz
andre.poenitz@nokia.com
Tue Jun 16 07:22:00 GMT 2009
On Monday 15 June 2009 15:25:31 Vladimir Prus wrote:
> On Monday 15 June 2009 Daniel Jacobowitz wrote:
>
> > On Mon, Jun 15, 2009 at 04:38:57PM +0400, Vladimir Prus wrote:
> > > On Monday 15 June 2009 Phil Muldoon wrote:
> > > > + return self.val['_M_dataplus']['_M_p'].string (encoding, length = len)
> > >
> > > Great, this is exactly what I was looking for.
> >
> > Is it? This uses the length from the (possibly uninitialized)
> > std::string as a maximum. I think we want something higher level,
> > similar to today's "set print elements", to apply.
>
> That's a separate matter, which I raise in the topic starter. Yes, we want
> some safety net. As it stands, any IDE that automatically displays local
> variables is totally broken if pretty-printing is enabled.
The decision whether a std::string display should be limited to 100 or
10000 characters or maybe whether it should be risked to show "all" is
nothing that should be done on the gdb side, as all are valid choices
under certain circumstances.
So, please, don't make that kind of "high level" decision on the gdb side,
and also, please, generally take into account that other IDEs might
have other preferences than your IDE.
At least from my point of view having a minimal(-ish) set of MI commands
providing fast and robust access to the data gdb can provide on the CLI is a
lot more desirable than having a bigger part of _one_ IDE's logic hardwired
into gdb MI.
Andre'
More information about the Gdb
mailing list