Try OpenEdge Now
skip to main content
Debugging and Troubleshooting
OpenEdge Debugger : Debugger Window and Files : Debugger window panes : Watches pane
 
Watches pane
The watches pane keeps track of variables, buffer fields, attributes, data, and built-in ABL functions on which a watch is set. For more information on functions as watches, see Watches for built-in functions.
The watches pane has a context (right-click) menu containing the following options: Copy, Cut, Paste, Add Watch (adds a new variable to the watches pane), Remove Watch, and Dataview (displays attribute or field information for the selected variable in the Dataview dialog box).
You can add a watch by doing any of the following:
*Entering the watch into the last line of the watches pane directly.
*Entering the watch in the Add Watch dialog box. For more information, see Debugger dialog boxes.
*Selecting text in the source code pane, or selecting a variable or parameter in the variables pane, and then choosing the Add Watch option on the context (right-click) menu.
*Selecting text in the source code pane and dragging it to the watches pane. For more information, see Watches pane.
*Selecting an entity in the Dataview dialog box and choosing the Add Watch button.
Note the following with respect to validity checking of the selected text:
*Selected text that is improperly formatted displays "** Error **" in its Value cell.
*Selected text that is properly formatted but that refers to an out-of-scope or nonexistent variable displays "** Unavailable **" in its Value cell.
Valid watch formats are any of the following:
[ VARIABLE | FIELD | PARAMETER ]name
handle:attribute
object-reference [[array-index]][:data-member[[array-index]]|property]
[data-member[[array-index]]|property]
widget-name [[array-index]]:attribute[IN FRAME frame-name]
{ FRAME | MENU }widget-name:attribute
{ SUB-MENU | MENU-ITEM }widget-name:attribute
[ IN { MENU | SUB-MENU }menu-name]
You can chain attribute and property references. For example, the following attribute reference displays the value of the TITLE attribute for a window containing a fill-in (assuming the fill-in is three levels from the window):
FILL-IN-1:PARENT:PARENT:PARENT:TITLE
If a variable is currently out of scope, or you add a watch for an unknown variable name, the following message appears in the Value cell:
** Unavailable **
If evaluation of properties is disabled (by means of the -noevalprops startup parameter), the following message appears in the Value cell for properties that have a non-empty accessor method (ABL properties that have an empty GET method are always evaluated):
** Property evaluation disabled**
Note: You can use the Value tab of the Dataview dialog box to inspect the value of a property, whether or not evaluation of properties is disabled. See Dataview dialog box for more information.
Double-clicking on a cell containing the value of a variable makes the value editable. You can modify the value by entering a different value and pressing the ENTER key or clicking out of the cell. Pressing the ESC key when editing a value restores the current value and cancels the editing operation.
You can remove a watch for a variable by selecting the watch in the watches pane and then:
*Pressing the DELETE key
*Choosing the Remove Watch option on the context (right-click) menu or Debug menu
* Watches for built-in functions
* Drag-and-drop watches