This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: [MI] frozen variable objects (bug)
Nick Roberts wrote:
>
> In principle, if a variable object is frozen, print_varobj prints it's
> state out with:
>
> if (varobj_get_frozen (var))
> ui_out_field_int (uiout, "frozen", 1);
>
> In practice this never happens because print_varobj is called
>
> a) from -var-create, in which case the object can only be frozen _after_
> it
> is created.
Yes. The intention is that future patches will cause varobjs to be created
frozen in some cases, without explicit commands from gdb. Said patches
got stuck, unfortunately.
> b) from -var-list-children, but the frozen flag is not set for children,
> only
> for the variable object that was explicitly chosen
I don't understand what do you mean by "explicitly chosen". Just like
-var-create, in current FSF HEAD children varobjs always created non-frozen.
You can freeze any children you like.
> I guess the front end should keep track of which objects are frozen but
> it's an attribute that should/could be added to the MI command
> -var-show-attributes.
We never established what's the intended use of -var-show-attributes and if
that command should be present at all.
> Aside: I still don't understand the need for frozen objects. In Emacs, if
> I want to disable automatic update of a complex data type, I just click on
> the parent to contract the display, which invokes "-var-delete -c" to
> delete the
> children. If later I want to look at their values, clicking on the parent
> regenerates the children.
And how do you highlight values that were changed?
- Volodya