ILiveWatchNodeUpdateState Method

Returns the current value of the node, and also checks whether the node name, type or children have changed.

Definition

Namespace: VisualGDBExtensibility.LiveWatch
Assembly: VisualGDBExtensibility (in VisualGDBExtensibility.dll) Version: 5.6.109.1 (5.6.109.4849)
C#
LiveWatchNodeState UpdateState(
	LiveWatchUpdateContext context
)

Parameters

context  LiveWatchUpdateContext
Specifies what information about the node is requested by VisualGDB. E.g. nodes that are hidden from the list, but plotted, only need to update the raw value (UpdateScalarValueOnly)

Return Value

LiveWatchNodeState
The updated node value and optional new values for other fields.

Remarks

This method is always called from a background worker thread.

If the node value depends on one or more low-level live variables, they should be created as early as possible, and kept active until the live watch node is disposed. VisualGDB will automatically query the values of all active live variables before calling GetChildren(LiveWatchChildrenRequestReason) for all visible live watch nodes. This ensures that updating the node state won't involve any actual target memory reads and will not cause any noticeable delays.

If the node's children have changed in runtime, the Live Watch plugin can handle it in 2 ways:

  • Immediately return a new list of children via NewChildren. They will immediately replace the old children shown in the Live Watch window.
  • Alternatively, set the ChildrenOutdated and CanRefresh flags in the Flags field. VisualGDB will apply the strikethrough effect to the node's children, and will show the refresh button next to the node name. Once the refresh button is clicked, VisualGDB will call the GetChildren(LiveWatchChildrenRequestReason) method to load the new children.

See Also