APPX ILF Debugger
Effective with Release 5.0.0, the original character mode ILF Debugger has been replaced with a GUI ILF Debugger.
Overview
The APPX ILF debugger is a powerful debugging tool that enables the APPX application designer to examine field values and to observe how field values change as individual ILF statements are executed. The APPX ILF Debugger is invoked as the result of executing a TRAP statement when testing a process or automatically as the result of encountering a runtime error such as a Numeric Overflow.
Main Debugger Window
The main window of the ILF debugger displays the ILF statements which precede and follow the next line to be executed. If the ILF debugger is displayed as the result of encountering a TRAP statement, the next line to be executed will be the TRAP statement. In the example below, the TRAP statement is highlighted with a light blue background. The white arrow in the red circle points to the statement to further hightlight it.
If a runtime error causes the ILF debugger to be invoked, the statement which caused the error will be highlighted with a light blue background color. The white arrow in the blue circle points to the statement to further hightlight it. In the example below, notice that the value for the fields for the current statement are displayed in the field value window on the bottom of the screen.
The following icons are used to mark ILF statements for the benefit of the application designer:
Identifies an ILF command that has a stop point (trap) enabled.
Identifies the next ILF command line to execute.
Identifies the next ILF command line to execute and indicates that the line has a stop point (trap) enabled.
Field values can also be viewed in a popup tooltip by moving the mouse pointer over any ILF statement which references a field.
Toolbar Buttons
The Toolbar contains a variety of buttons that facilitate debugging of a process:
Go [Option 0]- Resume normal execution.
Cancel [Ctrl+F8]- Abort process being debugged.
Single Step [RETURN] - Execute the current line and stop on the next line in the current routine.
Step Into [Option 1] - Execute a process or subroutine and stop on the first statement of the routine.
Step Return [Option 2] - Resume execution and stop on the next RETURN statement.
Step End [Option 3] - Resume execution of the current routine and stop on the last statement in the routine.
Toggle Trap [F3] - Enable/Disable a trap on the current statement.
Edit Values [F12] - Edit the value of the variables on the current statement.
Inspect/Edit Value [F11] - Inspect and/or edit the value of a specified variable
View Process Stack [Ctrl+1]
Watchpoint [F10] - Set or Clear watch points on individual variables
Execute Next [F9] - Set next statement to execute
Watchpoints
Watch points can be very helpful when debugging a process. An APPX watchpoint is a field name that you want APPX to "watch". Anytime the value of the field changes, APPX will invoke the ILF Debugger and alert you to the change in value.
Process Stack
When debugging a process, it is sometimes useful to be able to view the process stack. The process stack is simply a list of the "ancestor" processes of the process that is currently running. In the example below, the level 1 process is the current input process named DEBUG which displays the process stack list. The level 2 process is the process that is currently being debugged. In this example, the process being debugged is an input process in application DMO named PROSPECT FILE MAINTENANCE. The level 3 and higher processes identify the various processes in application design that were run to design and then test the PROSPECT FILE MAINTENANCE input process.
How to Revert to the Original ILF Debugger
If you prefer to use the original character mode ILF Debugger, you can disable the GUI ILF Debugger and revert to the original ILF Debugger by setting the following environment variable:
APPX_OLD_DBG=<any_value>
The easiest way be ensure that this environment variable is set for all APPX sessions is to define it in the appx.env configuration file. Simply add the environment variable to the appx.env file. You may assign <any_value> to the variable to enable it. The example below assigns a value of 1 thereby enabling the original ILF debugger.
#=============================================================================
# Revert to original ILF Debugger
#=============================================================================
APPX_OLD_DBG=1
Comments:
Read what other users have said about this page or add your own comments.
The toolbar needs a button for: Execute Next [F9] - Set next statement to execute
--
SteveFrizzell - 30 Sep 2008
--
SteveFrizzell - 26 Sep 2008