Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-debug-dev] Design of "changed variable" support


In light of problems with dispaying changed variables relative to time, a new proposal is on the table....

IVariable implements the following method

/**
 * Returns whether this variable's value has changed since the last suspend event.
 * Implementations may choose whether the last suspend event is the last suspend
 * event in this variable's debug target, or within the thread(s) in which this variable
 * is visible.
 *
 * @return whether this variable's value has changed since the last suspend event
 * @exception DebugException if an exception occurrs determining if this variable's
 *   value has changed since the last suspend event
 */
public boolean hasValueChanged() throws DebugException;



The "changed" information is kept in the model, and has the following benefits (side effects?):

* a model may determine the granularity at which change information is kept - i.e. whether a change in a subvariable shows as changes in a containing variable, or whether change information is kept just for stepping, or also accross thread resume/suspends.
* each variable view will show the same information (the feature is not view/time dependent)
* if a view is closed/opened it can still show the information
* the view does not have to cache and compare values
* a presentation may display state in anyway it chooses, as the model contains the state, rather than a view

I propose that we have a global preference to display changed values in a user specified color (default is red). Debug presentations that choose to may also use custom icons and text.

Please respond with any comments/concerns.


Darin

Back to the top