This is the mail archive of the
mailing list for the GDB project.
MI floating varobj of invalid value
- From: Vladimir Prus <vladimir at codesourcery dot com>
- To: gdb at sourceware dot org
- Date: Sun, 27 Apr 2008 01:27:48 +0400
- Subject: MI floating varobj of invalid value
Presently, floating varobjs are reparsed and reevaluated at each stop. Reevaluation
can change the value, or can change type, or even can result in error, in which case
varobj will be marked out of scope. The only transition that is not supposed
now is from invalid state into valid state.
Suppose I've created varobj for watching for expression 'foo' and after some
debugging ended the debug session. When I start debug again, I still want to
see the value of 'foo'. However, if frontend tries to create varobj for foo
at the first stop, and 'foo' is not in scope, then varobj will not be created.
This means that the frontend has to try to create varobj on each stop, until
that succeeds. This sounds unnecessary -- we can make creation of floating
varobj always succeed, and then frontend can use -var-update to monitor changes
in varobj state.
Does making creation of floating varobj always succeed seem a good idea?