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
Created attachment 4180 [details] File needed to recreate the bug
Created attachment 4181 [details] File needed to recreate the bug
I forgot: of course, you have to compile before anything: > gcc -g -o bug bug.c
Yeah, this behavior in intentional. I think you should raise this issue on the mailing list, there are a couple threads touching on this. bugzilla isn't really the best place to discuss it, as not everybody is listening here. I'm closing the bug for this reason.