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