Progress
Debugger Guide


Debugger Context and the Procedure Call Stack

Figure 1–2 shows the relationship between active procedures inside and outside the Debugger context in a typical procedure call stack (growing downward in the figure). The Debugger is controlling an application (your-app.p) that is running in the Procedure Editor (also a Progress application). In this figure, the executing procedure is subexec.p. The procedure call stack includes all procedures down to the executing procedure, including the procedure started in the Progress client. All procedures running from your application are in the Debugger context. Only procedures associated with the Procedure Editor (edit.p and _proedit.p) are running outside of the Debugger context.

Figure 1–2: Procedures Inside and Outside the Debugger Context

An active procedure (and all its ancestor procedures) can run outside the Debugger context in two ways:

For more information on using underscores in procedure names, see Debugger Files." For more information on the DEBUGGER handle, see DEBUGGER and SESSION System Handles."

The Debugger keeps track of run-time information only for active procedures inside the Debugger context. Whether an active procedure is inside or outside the Debugger context depends on how the Debugger and procedure are started. For more information on starting the Debugger and applications under its control, see Starting and Stopping the Debugger."

Procedures Inside the Debugger Context

The Debugger allows you to examine the data items, widget attributes, listing, and execution status of any procedure that is active in the Debugger context by bringing it into focus. A procedure can receive Debugger focus by triggering a breakpoint in it or by navigating the call stack (with the UP and DOWN commands). The procedure that has the Debugger focus is the current procedure. The default current procedure is the executing procedure on the call stack.

Procedures Outside the Debugger Context

The Debugger allows you to examine the listing and set breakpoints for any procedure that is outside the Debugger context. Procedures outside the Debugger context can include both active procedures and inactive procedures.

Active procedures outside the Debugger context include:

These active procedures are invisible to Debugger commands that examine or control procedure execution in the Debugger context.

Inactive procedures are procedures that are not executing in any context. They include:


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095