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