Chapter 16. Debug Tool and subsystems 487
16.3.1 Traditional methods of debugging under IMS
Traditionally, the hardest part of preparing for debugging of an IMS program or transaction is
setting the runtime options.
For compilation, the instructions given in the individual language chapters should be used.
For runtime options, there has traditionally never been a way to specify command-line
runtime options under IMS. In releases prior to IMS V8, you must use one of the following
ways to set the runtime options for a transaction or program:
An LE CEEUOPT
The #pragma runopts (for C/C++)
PLIXOPT for PL/I
Full-screen 3270 single terminal mode is not available under IMS. Dual terminal or a remote
debugger should be used.
16.3.2 Debugging with IMS V8 and later
If you have Debug Tool Utilities and Advanced Functions installed on your system and are
using IMS Version 8, there are some new DTU facilities that allow you to easily change your
LE runtime options on the fly. The new V4.1 Debug Tool interface uses the IMS Single Point
of Control facilities that are described in the IMS books, but provides an easy-to-use full
featured interface tailored towards Debug Tool users.
In the past, the only way to provide the TEST runtime option that is required to bring up
Debug Tool was to compile it into the program (with a CEEUOPT or using #pragma runopts
with C/C++). This caused problems because:
All users of the program were affected by this change, not simply the person debugging
the program.
Two people could not debug the same program simultaneously because only one VTAM
LUNAME or TCP/IP address could be given.
The CEEUOPT or program had to be recompiled and relinked every time your TCP/IP
address or available VTAM terminal changed.
A second set of features is usable without IMS Version 8 and allows you to create or edit
setup files for your IMS program using Debug Tool Utilities.
Linking an application to allow the managing of runtime options
IMS uses a customized version of the LE CEEBXITA to allow LE runopts to be specified. This
exit is called DFSBXITA and is found in SDFSSMPL. This exit can be used in one of two
ways:
You can assemble and link it with your application in order to allow dynamic changing of
the LE runtime options for that application only.
Your system programmer can assemble and then link it into the SCEERUN(CEEBINIT)
module. When this SCEERUN is used with your IMS region, it will allow the new
functionality to be used with
all applications running in the region. The JCL shown in
Example 16-10 is the assembled DFSBXITA that was in HLQ.MY.OBJECT(CEEBXITA).
Example 16-10 JCL
//LKED EXEC PGM=IEWL,REGION=4M,
// PARM='CALL,LIST,XREF,LET,RENT,REFR,MAP,AMODE=24,RMODE=24'
//SYSLIB DD DSN=CEE.SCEELKED,DISP=SHR