This is the mail archive of the gdb-patches@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: -var-list-children --simple-values


On Wednesday 15 November 2006 18:09, Daniel Jacobowitz wrote:
> On Wed, Nov 15, 2006 at 05:55:02PM +0300, Vladimir Prus wrote:
> > Why? Especially, why it's better than --all-values. Note that
> > --simple-values only don't print values of arrays, structures and unions,
> > and if you check c_value_of_variable, you'll see that for structures just
> > a literal string is returned, while for array very trivial formatting
> > operation is used.
> >
> > In other words, --all-values do not involve any complex processing,
> > reading data from the target, or anything. What are we trying to save by
> > adding --simple-values?
>
> But the result of --all-values where it differs from --simple-values is
> probably not used.  I've never used an IDE that printed out the
> collapsed value of a struct; 

Eclipse? KDevelop? I can send you screenshots, but I hope you'll believe me 
saying that both use "{...}" as value of a structure.

> I didn't invent --simple-values though, I just added it to -var-update.
> Nick added it to -stack-list-locals on 20-Jan-2004.  Ah here:
>   http://sourceware.org/ml/gdb/2003-11/msg00055.html

This is in fact completely different change. Here's 
what "-stack-list-locals --all-values" produces:

      ^done,locals=[{name="the_struct",value="{a_fr = 120, b = 333, inner_fr =
           {i = 0, j = 5, k = 5}, c = 3, pad = {0 <repeats 100 times>}, d =
            10, pad2 = {0 <repeats 100 times>}, e = 10}"}]

So, the difference between --all-values and --simple-values is dramatic. In 
case of --var-list-children you don't get full structure printed. You won't 
even have the structure *read* (with my laziness patch, that is).

So, while --simple-values might be reasonable for -stack-list-locals, it's not 
all that needed for -var-list-children.

- Volodya


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