The DEBUGGER system handle attributes and methods provide a limited set of capabilities primarily designed to start up and clean up after a debugging session from an ABL procedure. The following table lists the function of each DEBUGGER system handle attribute.

Table 1. DEBUGGER system handle attributes
Attribute Function
TYPE Returns the object type of the Debugger, the standard value for all system handles, "PSEUDO-WIDGET"
VISIBLE Displays or removes the Debugger window on the screen

The following table lists the function of each DEBUGGER system handle method.

Table 2. DEBUGGER system handle methods
Method Function
CANCEL-BREAK([procedure[,line-number]]) Cancels a specified breakpoint.
CLEAR( ) Re-initializes the internal state of the Debugger. This function has no visible effect on the Debugger window.
DEBUG( ) Starts and initializes the Debugger, and immediately gives control to the Debugger in stand-alone mode while blocking the invoking procedure.
DISPLAY-MESSAGE(char-expression) Displays a message in an alert box. The Debugger stores these messages and displays them to the user in an alert box when the Debugger regains control of the application.
INITIATE( ) Initializes the Debugger, but does not immediately give control to the Debugger. When the ABL Virtual Machine (AVM) instance encounters a breakpoint, it gives control to the Debugger in application mode, and the procedure containing the breakpoint becomes the current procedure in the Debugger context.
SET-BREAK([procedure[,line-number]]) Sets a specified breakpoint. You cannot use this method to set a condition on a breakpoint, or to set a breakpoint triggered by an error. You can, however, add a condition to a breakpoint created using this method, by editing the breakpoint from the Breakpoints dialog box.
Note: You cannot use this method to set a a watchpoint.

You must initialize the Debugger using either the DEBUG( ) or INITIATE( ) method before using any of the remaining methods in a procedure.

Note: The ABL code that initiates the Debugger and displays it on the screen is responsible for removing the Debugger from the screen when it is no longer needed by setting the DEBUGGER:VISIBLE attribute to FALSE.