Tags:
create new tag
view all tags

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.

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

ILFDebugTRAP.PNG

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.

ILFDebugOverflow.PNG

The following icons are used to mark ILF statements for the benefit of the application designer: 

stop.png  Identifies an ILF command that 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 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.

ILFDebugFieldValues.PNG

Toolbar Buttons

The Toolbar contains a variety of buttons that facilitate debugging of a process:

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.

The toolbar needs a button for: Execute Next [F9] - Set next statement to execute

-- SteveFrizzell - 30 Sep 2008

-- SteveFrizzell - 26 Sep 2008

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r7 - 2008-11-13 - SteveFrizzell
 
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