1 | Reason | Input | Char(10) |
2 | Program list | Input | Char(*) |
3 | Number of programs | Input | Binary(4) |
The Debug Session Handler exit program is a user-written program that manages the Integrated Language Environment (ILE) debugger. It determines when the debugger starts, stops, and shows its displays.
The name of the program is specified in the SRCDBGPGM parameter of the Start Debug (STRDBG) command. This program is called by the STRDBG command to initialize the user-written debugger, and is called by the End Debug (ENDDBG) command to end it. It is also called by the STRDBG and the Display Module Source (DSPMODSRC) commands to show the Display Module Source display.
If a JAVA class file name was specified in the JAVA parameter of the STRDBG command, the Debug Session Handler exit program will be called during debug initialization with a reason of *STARTJAVA. This call will be in addition to a separate call with a *START reason if ILE or OPM programs were also specified in the STRDBG PGM parameter.
None.
The reason the program was called. Valid reasons include:
*START | The program-stop handler should be initialized by the Start Source Debug API if this has not been done. The program list parameter format consists of 30-character entries. See the program list parameter description below. |
*STARTJAVA | The program-stop handler should be initialized by the Start Source Debug API if this has not been done. The program list parameter format consists of JAVA class file names. See the program list parameter description below. |
*STOP | The program-stop handler should be removed by the End Source Debug API. |
*DISPLAY | The debugger should display itself. |
*RLSJOB | The batch job being debugged has been released from the job queue. This is only supported for a debug session handler running in a batch job. |
The format of this parameter depends on the value of the reason parameter. If the reason parameter is *START, the program list format is as follows:
The list that is to receive a list of ILE or OPM programs to add to the debugger. This list contains the number of program entries, each entry being 30 characters in length. The first 10 characters contain the name of the program. The second 10 characters contain the name of the library where the program is located. The third 10 characters contain the type of object being named and can be *PGM (a callable program) or *SRVPGM (a service program). Each name is left-justified within the field.
If the reason parameter is *STARTJAVA, the format is as follows:
A list of JAVA class file name entries. For more information see Format of *STARTJAVA Program List Parameter. The number of list entries is contained in the number of programs parameter.
If the reason parameter is *DISPLAY, the format is as follows:
The eight character thread identifier of the current thread. This is valid only if threads debugging is allowed and the Number of programs parameter contains a value of 1.
If the reason parameter is *Stop or *RLSJOB, this parameter is not valid.
The format of this parameter depends on the value of the reason parameter. If the reason parameter is *START or *STARTJAVA, the format is as follows:
The number of programs stored in the program list parameter.
If the reason parameter is *DISPLAY, the format is as follows:
The status of the threaded job. This is valid only if threads debugging is allowed.
0 | The job is running and has not been stopped by debug (for example, breakpoint, step, watch, or unmonitored exception). |
1 | The job is stopped by debug. |
If the reason parameter is *Stop or *RLSJOB, this parameter is not valid.
When the reason parameter is *STARTJAVA the program list parameter contains JAVA class file names. The following table shows the format of the program list parameter for the *STARTJAVA reason. For more information on the fields, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
Note: The following fields are repeated for each input class file name. The number of programs parameter contains the number of class file names. | |||
0 | 0 | BINARY(4) | Offset to class file name |
4 | 4 | BINARY(4) | Length of class file name |
Note: Following all of the above fields is a string space containing the input class file names. | |||
CHAR(*) | Class file names |
Class file names. The class file names that are specified on the STRDBG command.
Length of class file name. The length of the class file name.
Offset to class file name. The offset from the start of the program list parameter to the class file name.
Top | Debugger APIs | APIs by category |