Progress
Debugger Guide
The Debugger Context
The Debugger context consists of the data and execution status of all procedures running under Debugger control.
Procedures and Triggers
Procedures and trigger blocks in the Debugger context include the executing procedure or trigger plus some or all of the procedures and triggers pushed onto the procedure call stack. The number of procedures and triggers on the call stack grows as each subprocedure or trigger calls another and decreases as each subprocedure or trigger returns to the one that called it. The Debugger provides information on a running application by referencing this call stack.
NOTE: In Progress, procedures and trigger blocks are identical with the exception that triggers cannot not accept parameters or arguments.The executing procedure and all procedures on the call stack (whether inside or outside the Debugger context) are active procedures. Active procedures include all those that you run directly or indirectly from the Progress client and any additional procedures that you start from the Debugger with the Debugger RUN command.
When an application has control, all active procedures except the currently executing procedure are on the call stack. When the Debugger has control, all active procedures including the currently executing procedure are on the call stack. As a result, the executing procedure waits to continue execution.
Persistent Procedures
A persistent procedure is active in the Debugger context in the following instances:
Otherwise, the persistent procedure is not on the call stack and is invisible to the Debugger context.
Data
Data in the Debugger context includes all variables, fields, buffers, parameters, and attributes of widgets defined or accessed by procedures inside the Debugger context.
Execution Status
The execution status includes the location of the current executable line and the relative position in the call stack of each procedure in the Debugger context plus the current transaction state. An executable line is any 4GL line that contains a run-time statement (for example, FOR, DISPLAY, or CREATE). Note that although the listing monitored by the Debugger contains all the 4GL code for a procedure, the execution status only reflects executable lines; execution stops only on executable lines. Nonexecutable lines include comments and static data definition statements (for example, DEFINE or FORM). Static data definition statements take effect only at compile time and generate data items and widgets for a procedure.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |