You can use the following
commands to interact with the EGL debugger:
- Add breakpoint
- Identifies a line at which processing pauses. When code execution
pauses, you can examine variable values, as well as the status of
files and screens. Breakpoints are carried from one debugging session
to the next, unless you remove the breakpoint. You cannot set a breakpoint
at a blank line or at a comment line.
- Disable
breakpoint
- Inactivates a breakpoint, but does not remove it.
- Enable breakpoint
- Activates a breakpoint
that was previously disabled.
- Remove breakpoint
- Clears the breakpoint so that processing no longer automatically
pauses at the line.
- Remove all breakpoints
- Clears every breakpoint.
- Run
- Runs
the code until the next breakpoint, or until the run unit
ends. In any case, the debugger stops at the first statement in the
main function.
- Run to line
- Runs
all statements up to, but not including, the statement on
a specified line. This command is not available in Rich UI debugging.
- Jump to line
- Right-clicking the gray
border to the left of a line of code and
then clicking this option repositions the debugger at that line. You
can jump only to a line in a function that is part of the currently
active stack; that is, the function that you are in currently or a
function that has called the current function. This command is not
available in Rich UI debugging.
- Step into
- Runs the next EGL statement and pauses.
- The following
list indicates what happens if you issue the command step
into for a particular statement type:
- call
- Stops at the first statement of a called program if the called
program runs in the EGL debugger. Stops at the next statement in the
current program if the called program runs outside of the EGL debugger.
- The EGL debugger searches for the receiving program in every project
in the workbench.
- converse
- Waits
for user input. That input causes processing to stop at
the next running statement, which might be in a validator function.
- forward
- If the code forwards to a JSF
Handler, the debugger waits for
user input, and then stops at the next running statement, which might
be in a validator function. If the code forwards to a program, the
debugger stops at the first statement in that program.
- function invocation
- Stops at the first statement
in the function.
- show, transfer
- Stops
at the first statement of the program that receives control
in a transfer. The target program is EGL source code that runs in
the EGL debugger, but is not generated by EGL.
- After either
a show statement or a transfer
to transaction statement, the behavior of the EGL debugger
depends on the debugger mode:
- In Java™ mode,
the EGL debugger switches to the
build descriptor for the new program or, (if no such build descriptor
is in use, prompts the user for a new build descriptor. The new program
can have a different set of properties from the program that ran previously.
The EGL debugger searches for the receiving program in every
project in the workbench.
- Step over
- Runs the next EGL statement and pauses, but
does not stop within
functions that are invoked from the current function.
- The
following list indicates what happens if you issue the command step
over for a particular statement type:
- converse
- Waits for user input and then skips any validation function (unless
a breakpoint is in effect). Stops at the statement that follows the converse statement.
- forward
- If the code forwards to a JSF
Handler, the debugger waits for
user input and stops at the next running statement, but not in a validator
function, unless a breakpoint is in effect.
- If the code forwards
to a program, the debugger stops at the first
statement in that program.
- show, transfer
- Stops at the first statement of the program that receives control.
The target program is EGL source code that runs in the EGL debugger,
but is not generated by EGL.
- After either a show statement
or a transfer
to transaction statement, the behavior of the EGL debugger
depends on the debugger mode:
- In Java mode,
the EGL debugger switches to the
build descriptor for the new program or, if no such build descriptor
is in use, prompts the user for a new build descriptor. The new program
can have a different set of properties from the program that ran previously.
The EGL debugger searches for the receiving program in every
project in the workbench.
- Step return
- Runs the statements needed to return to an
invoking program or
function, then pauses at the statement that receives control in that
program or function.
- The step return command in a validator
function is an exception. In that case, the behavior is identical
to that of a step into command, which primarily
means that the EGL debugger runs the next statement and pauses.
The EGL debugger ignores the following EGL system
functions:
- sysLib.audit()
- sysLib.purge()
- vgLib.startTransaction()
You
can add a breakpoint at these statements, for example, but
a step into command merely continues to
the subsequent statement, with no other effect.
Finally, if
you issue the command step into or step
over for a statement that is the last one running in
the function (and if that statement is not return, exit
program, or exit stack), processing
pauses in the function itself so that you can review variables that
are local to the function. To continue the debug session in this case,
issue another command.