Skip to main content

[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









Back to the top