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 as the result of encountering a runtime error such as a Numeric Overflow.

APPXILFDebugger.PNG

Main Debugger Window

The main window of the ILF debugger displays the ILF statements which precede and follow the next line to be executed.  The next ILF statement to execute is highlighted with a light blue background.  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.

ILFDebugTRAP.PNG

The ILF line(s) of code that are set for trapping will be marked with the red and white icon and the entire line will be have a pink background. The next ILF line to be executed is marked with a blue and white icon and the line will have a blue background. Traps may be set at run time by clicking on the desired line and then clicking on the Trap icon on the Toolbar.

ILFDebugOverflow.PNG

 

stop.png  Identifies an ILF commnad what has a stop point (trap) enabled.

current.png Identifies the next ILF command line to execute.

stopcur.png Identifies the next ILF command line to exectute and indicates that the line has a stop point (trap) enabled

 

The Toolbar contains several new icons. The Green Arrow will jump out of the trapped event point . The Red X will cancel the process as always. Single step will execute the next sequential instruction, same a the Return key. The Step Into will follow a child process. Step Return takes you to the next Return statement. There is a red/gray icon you can use to set and remove a trap. F3 can still be used to set and un-set traps as well. The Edit values icon will allow the current field value(s) to be modified. Inspect/Edit will allow you to enter a field and see its contents. View Process Stack will display the current process stack showing the Ap/Ver, Proc Type, Process Name, and invocation share class. Watch Variable allow you enter a field name and Appx will indicate when the contents of that field change.

Scrolling the ILF Debugger using the up and down arrow keys is not permitted.

Toolbar Buttons

return.gif Go [Option 0]- Resume normal execution.

cancel.gif Cancel [Ctrl+F8]- Abort process being debugged.

stepOver.png Single Step [RETURN] - Execute the current line and stop on the next line in the current routine.

stepInto.png Step Into [Option 1] - Execute a process or subroutine and stop on the first statement of the routine.

stepOut.png Step Return [Option 2] - Resume execution and stop on the next RETURN statement.

stepEnd.png Step End [Option 3] - Resume execution of the current routine and stop on the last statement in the routine.

stopToggle.png  Toggle Trap [F3] - Enable/Disable a trap on the current statement.

editValues.png Edit Values [F12] - Edit the value of the variables on the current statement.

inspect.png Inspect/Edit Value [F11] - Inspect and/or edit the value of a specified variable

stack.png View Process Stack [Ctrl+1]

watch.png 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.

Watchpoints.PNG

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.

ProcessStack.PNG

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.

-- SteveFrizzell - 26 Sep 2008

Edit | Attach | Watch | Print version | History: r7 | r5 < r4 < r3 < r2 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2008-09-29 - SteveFrizzell
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback