How build descriptor settings affect the EGL debugger
A build descriptor helps to determine some aspects of the debugging environment.
For details on Rich UI, see Rich UI debugging.
Otherwise, the EGL debugger selects the build descriptor in accordance
with the following rules:
- If you specified a debug build descriptor for your program, the EGL debugger uses that build descriptor. For details on how to establish the debug build descriptor, see Setting the default build descriptors.
- If you did not specify a debug build descriptor, the EGL debugger prompts you to select from a list of your build descriptors.
- If the build descriptor you specified lacks any required database-connection information, the EGL debugger gets the connection information by reviewing your preferences. For details on how to set those preferences, see Setting preferences for SQL database connections.
If you are debugging a program that you intend for use in a text or batch application in a Java™ environment, and if that program issues a transfer statement that switches control to a program that you also intend for use in a different run unit in a Java™ environment, the EGL debugger uses a build descriptor that is assigned to the receiving program. The choice of build descriptor is based on the rules described earlier.
If you are debugging a program that is called by another program,
the EGL debugger uses the build descriptor that is assigned to the
called program. The choice of build descriptor is based on the rules
that are described earlier, except that if you do not specify a build
descriptor, the debugger does not prompt you for a build descriptor
when the called program is invoked; instead, the build descriptor
for the calling program remains in use.
Note:
You must use a different
build descriptor for the caller and the called program if one of those
programs (but not both) uses VisualAge® Generator
compatibility. The generation-time status of VisualAge® compatibility is determined by
the value of the vagCompatibility build
descriptor option.
A build descriptor or resource association part that you use for
debugging code might be different from the one that you use for generating
code. For example, if you intend to access a VSAM file from a program
that is written for a COBOL environment, you are likely to reference
a resource association part in the build descriptor. The resource
association part must refer to the runtime target system (for example,
zOS) and must refer to a file type (for example, vsamrs) that is appropriate
for the target system. The debug situation differs from the generation
situation as follows:
- At generation time, the resource association part indicates the system name of the file that is used in the target environment.
- At debug time, the system name must reflect another naming convention, as appropriate when you access a remote VSAM file from an EGL-generated Java™ program on Windows™ 2000, NT, or XP; for details on that naming convention, see your VSAM support documents.
System type used at debug time
The value
in sysVar.systemType is the same as the
value of the system build descriptor option,
except that the value is DEBUG in either of two cases:
- You select the preference Set systemType to DEBUG, as mentioned in Setting preferences for the EGL debugger; or
- You specified NONE as the build descriptor to use during the debugging session, regardless of the value of that preference.
If you are using VisualAge® Generator compatibility mode, the vgLib.getVAGSysType system function returns the VisualAge® Generator equivalent of the value in sysVar.systemType. For details, see the table in getVAGSysType().