[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] Support for "read-sensitive" values
|
Hello!
I would like to extend the CDT debugger to support "read-sensitive" values --
the values that cannot be read without altering the state of the target
system.
For example, expression *(int *)0x12345678 typically might be address of a
memory-mapped hardware register -- like some FIFO. Reading from that address
will extract the value from FIFO, so this not something that should be done
automatically on every step, but only by explicit request from the
programmer.
CDT has a mechanism to enable/disable variables, but it's not exactly the
same. Instead of enabling a "read-sensitive" value, I'd rather have an
explicit "read current value" command, that reads the value but does not make
the variable auto-update in future (like "enable" does).
I have a few technical questions:
1. Given a CVariable, what's the right way to notify the VariablesView that
this CVariable has changed and must be redisplayed?
2. I would like the context menu for read-sensitive values to have "Fetch
value" item right on the top. This menu is populated via extensions mechanism
and I see no way to control the order. How do I make a certain action appear
on top?
3. The variables view has a details pane, and the content of that details pane
is populated via MI's -data-evaluate-expression. So, each expression will be
evaluated twice -- first time to display it in the tree, and second time to
display it in details pane. Is it possible to make the details pane construct
text based on variable objects used for tree display, to eliminate this
double evaluation?
Thanks in advance,
Volodya