Try OpenEdge Now
skip to main content
Online Help
Running and debugging ABL programs : Tasks : Using the Progress Developer Studio for OpenEdge Debugger : Monitoring program execution : Using the Debug view and stack trace
 
Using the Debug view and stack trace
The Debug view contains the stack trace and the program execution commands.

Stack trace

For each currently active Debugger session (and any terminated sessions that you have not removed), the Debug view contains one or more session trees. As shown in the example below, a session tree begins with a node that identifies the project as an OpenEdge application and shows its name ("Killer App"). The tree ends with a node identifying the location of the OpenEdge Runtime executable, prowin32.exe.
Stack entries, such as the highlighted entry in the example, appear marked with under the OpenEdge Runtime node.
Note: Stack entries are visible only when the Debugger is suspended. While the application is running or waiting for a user response (for example, at a message dialog), you cannot see the stack.
When the Debugger is in a suspended state, the stack trace identifies:
*The current code line. This is the next line of code to be executed, and corresponds to the location of the solid pointer and the highlighted line in the Editor window. The current line appears at the top of the stack.
*All other code lines that participated in the currently active code block, leading to the pending execution of the current line. These entries appear, from top to bottom, in inverse order of execution. That is, the entry for the most recently executed instruction appears first, immediately following the current (pending) instruction.
All visible stack entries belong to a discrete block of code whose execution is not yet complete. Once the block is fully executed, its stack entries are removed, and the stack for the next block appears.

Using the stack for code analysis:

Selecting a stack entry lets you view that line of the source code and the values of variable data elements as they are at that point in the execution of the program. When you click on a stack entry:
*The ABL Editor window containing that source file becomes active; the selected line is color-highlighted ( or ), with an execution pointer ( or ) in the left margin. When you click the Editor tab label, the cursor is positioned at the beginning of that line. You can simply review the code or edit, save, and recompile it as necessary.
*If the selected line is the current line (the first stack entry), the execution pointer is solid and the highlighting is a darker shade: .
*If the selected line is a previous line (lower in the stack), the execution pointer is hollow and the highlighting is a paler shade: .
*The Variables view and the Expressions view show the values that are in effect at the time immediately preceding execution of the selected line. You can make non-persistent changes to these values to test their effect without actually altering the source code.
Note: Selecting a previously executed stack entry does not change the point at which program execution will resume. The current code line, reflected by the entry at the top of the stack, remains the same.

Program execution commands

The Debug view toolbar and context (right-click) menu provide commands for controlling program execution during a debugging session. See Stepping through the code for information about using these commands.