This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug mi/10616] New: Pretty-printed MI vars with children get "{...}" instead of the wanted string
- From: "noamraph at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: 8 Sep 2009 07:51:59 -0000
- Subject: [Bug mi/10616] New: Pretty-printed MI vars with children get "{...}" instead of the wanted string
- Reply-to: sourceware-bugzilla at sourceware dot org
Hello,
If a pretty-printed variable has children, in MI the to_string method is
ignored, and istead "{...}" is used.
To recreate:
Download bug.c, bug.py (They are the same as in bug 10615).
> gdb --int mi2 --nx bug
> -enable-pretty-printing
> python execfile('bug.py')
> b main
> r
> n
> -var-create m * m
^done,name="m",numchild="0",value="{...}",type="MainStruct",thread-id="1",has_more="1"
The value should have been "x=0".
To fix this, remove those two lines from varobj.c:
if (dynamic_varobj_has_child_method (var))
return xstrdup ("{...}");
They suggest that this behaviour was intentional. However, I would prefer if it
weren't so. I wrote a pretty-printer for a struct. The struct has many fields,
but only two are important. So I wrote a pretty-printer which keeps the children
of the struct, but uses to_string to display a string like "x=3,y=5", which
helps me see the important state of the struct in the GUI debugger without
having to open the struct in the tree view, so I have more space for watching
other variables.
Thanks,
Noam
--
Summary: Pretty-printed MI vars with children get "{...}" instead
of the wanted string
Product: gdb
Version: archer
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: mi
AssignedTo: unassigned at sourceware dot org
ReportedBy: noamraph at gmail dot com
CC: gdb-prs at sourceware dot org,tromey at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=10616
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.