Debugger context and the procedure call stack
- Last Updated: July 5, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
The following figure 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 an OpenEdge application).
In this figure, the executing procedure is subexec.p.
The procedure call stack includes all procedures down to the executing
procedure. 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.

An active procedure can run outside the Debugger context in one of the following two ways:
- When the name of the procedure is preceded by an underscore (
_), as with_edit.pand_proedit.p - When the procedure invokes the Debugger with the
DEBUGmethod of theDEBUGGERsystem handle
For more information on using underscores in procedure names,
see Debugger Window and Files. For more information on the DEBUGGER system
handle, see DEBUGGER system handle attributes and methods.
The Debugger keeps track of run-time information only for active procedures inside the Debugger context. The Debugger allows you to examine the data items, object attributes, listing, and execution status of any procedure that is active in the Debugger context anytime the Debugger has control.
You can neither examine data from nor control execution of procedures outside the Debugger context.