Debugger
ILE provides a debugger that allows source-level debugging. The debugger can work with a listing file and allow you to set breakpoints, display variables, and step into or over an instruction. You can do these without ever having to enter a command from the command line. A command line is also available while working with the debugger.
The source-level debugger uses system-provided APIs to allow you to debug your program or service program. These APIs are available to everyone and allow you to write your own debugger.
The debuggers for OPM programs continue to exist on the operating system but can be used to debug only OPM programs. However, the ILE debugger can debug OPM programs that are compiled with either OPTION(*SRCDBG) or OPTION(*LSTDBG).
Debugging an optimized program can be difficult. When you use the ILE debugger to view or change a variable that is used by a running program or procedure, the debugger retrieves or updates the data in the storage location for that variable. At level 20 (*BASIC), 30 (*FULL), or 40 optimization, the current value of a data variable might not be in storage, so the debugger cannot access it. Thus, the value displayed for a variable might not be the current value. For this reason, you should use optimization level 10 (*NONE) to create modules during development. Then, for best performance, you should use optimization level 30 (*FULL) or 40 when you create modules for final testing before a program is put into production.
For more information on the ILE debugger, see Debugging Considerations.