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] |
On Wednesday 15 November 2006 20:20, Jim Ingham wrote:Support for anonymous unions & structures is another of the "things we
fixed but haven't submitted back"... We do pretty much what Vladimir
suggests, though I use #anon#N for the varobj name: the choice doesn't
much matter. We still return a blank expression (since that's really
what the There's one other tricky bit 'caused by the fact that you
might have more than one anonymous union or structure inside a
structure. This wouldn't be a problem, but the varobj code tends to
look up structure elements by name, which obviously won't work here.
So you have to convert all the code that looks up structure elements
to use the index rather than the name.
Ah, I see. So this is not as easy change as I though.
Another of the things we do in our varobj code for C++ is that we look
up the dynamic type of objects (the same mechanism that "set print
object on" uses, and the value & children we return are based on the
dynamic type. As soon as you do that, you really do need a "give me
the expression that can recreate this varobj" for child varobj's.
Otherwise the MI client needs to get all these dynamic casts right to
get down to the proper child, which is a bit of a pain.
Good point.
But it's a generally useful command. We called it "var-info-path- expression" and given a varobj, it returns the expression that if evaluated would result in the same value. Xcode uses this for "show in separate window" actions in the debugger variable view. You can also use the to eliminate the "." for the anonymous structures or unions - though of course the MI client could do this too...
In fact, I've posted a patch that ports -var-info-path-expression to mainline
some time ago and we talked briefly with Daniel some time ago.
I'll see if I can revive that patch.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |