Start ISDB (STRISDB)

Start Interactive Source Debugger

The Interactive Source Debugger (ISDB) tool provides an interactive debugging environment for CL, COBOL, or RPG programs.

Note: The library QTEMP is required for ISDB to run. ISDB uses the library QTEMP to access files such as the log file.

To start it:

  1. Specify the necessary STRISDB parameters for your program.
  2. Press Enter. ISDB is started.

The source of the program is displayed in the ISDB Source display, and you can debug the program using the features provided there.

Error messages for STRISDB

None

Parameters

Keyword Description Choices Notes
PGM Program Qualified object name Required, Positional 1
Qualifier 1: Program Name
Qualifier 2: Library Name, *CURLIB, *LIBL
UPDPROD Update production files *YES, *NO Optional, Positional 2
INVPGM Invoke program *YES, *NO, *CMD Optional, Positional 3
PARM Parameters for call Values (up to 40 repetitions): Character value Optional, Positional 4
CMD Invocation Command Command string Optional, Positional 5
SRCMBR Source member Name, *PGM Optional, Positional 6
SRCF Source file Qualified object name Optional, Positional 7
Qualifier 1: Source file Name
Qualifier 2: Library Name, *CURLIB, *LIBL
SRVJOB Job to service *, *SELECT Optional, Positional 8

Program

Use this parameter to specify the name and library of the program to be debugged.

The possible values for the library are:

*LIBL
The library list is used to locate the program. This is the default if no library name is specified.
*CURLIB
The current library in the library list is used to locate the program. (If you have not specified a current library, QGPL is assumed.)
library-name
Specify the name of the library containing the program to be debugged.

Note: To debug COBOL programs with ISDB, ensure that they are compiled with the *SRCDBG option.

Update production files (UPDPROD)

Use this parameter to specify whether files in production libraries can be changed while they are in debug mode.

The possible values are:

*NO
Files cannot be updated while they are in debug mode.
*YES
Files can be updated while they are in debug mode.

Note that you can change the update production files value from the Source display. To do this:

  1. Select the Debug menu-bar choice from the Source display.
  2. In the Debug pull-down window, select option 1 (Change debug). The Set Debugging Options window appears.
  3. Select either option 1 (Update production files) or option 2 (Do not update production files), and press Enter.

Invoke Program

Use this parameter to specify whether you want ISDB to call your program, do other preparation before you invoke your program, or use a command to invoke your program.

The possible values are:

*YES
ISDB calls your program with the parameters you specify in the PARM field.

Note: You cannot use this parameter for serviced jobs.

*NO
A command is not issued to start the program. A command entry screen (QCMD) is provided so that you can do any preparation required before you issue the command to start the program.

If you start your program from the command entry screen, when your program completes running, control will return to this screen. To End ISDB or Restart, you must first exit this command entry screen (F3 or F12). The Program Termination display will then appear where you can choose to end ISDB or restart.

Note: For servicing other jobs, this is the only option you can use, but the QCMD panel is not invoked.

*CMD
ISDB executes the command specified in the CMD parameter. (This command must invoke your program.)

Parameters

Use this parameter to specify any parameters required to call your program.

This parameter is not intended for the INVPGM(*NO) and INVPGM(*CMD) invocation commands.

Note: Numeric literals (for example, 500) and strings which contain null (X'00') characters should not be used in this field. Instead, use the parameter INVPGM(*CMD) and specify the appropriate CALL command in the CMD parameter. For instance, instead of entering the command:

STRISDB PGM(MYPGM) INVPGM(*YES) PARM(123 X'00')

Use the following command:

STRISDB PGM(MYPGM) INVPGM(*CMD) CMD(CALL PGM(MYPGM)
PARM(123 X'00'))

Invocation Command

Use this parameter to specify the command you want to use to invoke your program.

This parameter is not intended for the INVPGM(*NO) and INVPGM(*YES) invocation commands.

Source member

This parameter is optional, since you need to specify the source member only if it is different from the one specified in the object description of the program. The source of the member you specify will be displayed in the Source display when you invoke the program.

You will need to use this parameter if:

The possible values are:

*PGM
The source information is retrieved from the object description using the DSPOBJD command.
member_name
Specify the name of the source member you want displayed, and type its file and library names in the parameters provided.

Source file and library

Use these parameters to specify the file and library names of the source member you specified in the Source member prompt. You must specify both names if either one of them is different from the names specified in the object description of the program.

The possible value for the source file name is:

file_name
Specify the name of the file containing the source member you want displayed.

The possible values for the source library name are:

*LIBL
The library list is used to locate the source file.
*CURLIB
The current library is used to locate the source file. (If you have not specified a current library, QGPL is assumed.)
library_name
Specify the name of the library containing the source file you want displayed.

Job to service (SRVJOB)

Use this parameter to debug a program running in a job different from the one to which you are signed on. It is useful for debugging batch jobs, or other interactive jobs.

Possible values are:

*
Debug in the current job.
*SELECT
Display the Select Job to Service display that lets you select a job from a list of active jobs. If you select one of these jobs, the STRSRVJOB command is issued and that job is placed in debug mode.

Note: SRVJOB(*SELECT) is not valid with INVPGM(*YES) or INVPGM(*CMD).

Examples

None

Error messages

None