This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Behaviour of invalid varobjs
On Thursday 22 March 2007 13:32, Nick Roberts wrote:
> > I think current mainline does something strange
> > about varobjs that cannot be evaluated:
> >
> > -var-create null_ptr * **0
> > ^done,name="null_ptr",numchild="0",value="0",type="int"
> > (gdb)
> > -var-update null_ptr
> > ^done,changelist=[{name="null_ptr",in_scope="false"}]
> >
> > First, the value of "**0" is not 0, in fact there's no value at all.
> > Second, given that nothing was changed between the two commands,
> > it's strange that 'null_ptr' is mentioned in -var-update.
> >
> > Before I go changing code, do everybody agree that:
> >
> > 1. The output of -var-create should either have no "value"
> > field at all, or value="", as is used in some other context.
> > 2. The output of -var-update should not include anything.
> >
> > Also, we probably should include in_scope="false" in output of
>
> probably should not include?
>
> > -var-create, but I'm not quite sure.
>
> Are there any real situations where you would want to create a variable object
> of a constant? If not, then, apart from ensuring that such objects don't crash
> GDB, I don't think this is an urgent issue.
That's testcase example. Replace **0 with "**some_pointer" and you have a real
use-case.
- Volodya