IBM Debug Tool Support


Use and Setup of the IBM Debug Tool under COPE and IMS for non-Language Environment Programs

There are three IMS environments discussed.

  1. Debugging a MPP program
  2. Debugging a BMP program
  3. Debugging a DLI/DBB program

Debugging a MPP Program

COPE contains a feature that allows a DEBUG TOOL user to have their own load library when they test an application in a MPP. This library is concatenated in front of the default set of load libraries used in a MPP. This isolated the modified application from other users of the system and allows different versions of the same application program to be developed simultaneously without adverse interactions.

The DEBUG TOOL User Load library is managed with the DT command issued in the COPE screen (Enter COPE on a blank IMS terminal screen). Multiple users may use the same dataset. A User can change the dataset name by entering another DT <dataset-name> at any time.

Debug Tool Commands

There are 5 different DT commands

  1. DT <dataset-name>
  2. DT ON
  3. DT OFF
  4. DT
  5. DT CLEAR

DT <dataset-name>

identifies the User load library dataset. A check is made that the dataset exists and a error message is displayed if the check fails.

DT ON

forces the defined dataset to be concatenated in front of all other message region ‘STEPLIB’ datasets whenever a transaction is processed for the user. The user does not have to use DEBUG TOOL for this to happen.

DT OFF

is used to prevent the user load library to be concatenated in front of the ‘STEPLIB’ datasets.

DT

displays whether DT is ON or OFF and also the Load Library that will be concatenated if DT ON is specified. In case that transactions input from a client system connected to COPE need to be DEBUGed, the User Id is different from the User Id of the developer using DEBUG TOOL.

DT CLEAR

deletes the users dataset record.

The DT commands may be entered as follows:-

DT<dataset-name> FROM Client-Id
DT ON FROM Client-Id
DT OFF FROM Client-Id
DT FROM Client-Id

Using the DEBUG Tool with COPE for a MPP non Language Environment program requires the user to use the EQASET transaction (for example, EQASET MFI=terminal_lu_name).

Where terminal_lu_name is the name of the DEBUG Tool VTAM terminal. Debugging may be turned on and off by the IMS transaction EQASET ON/OFF

Debugging a BMP Program

Using DEBUG Tool with COPE for a BMP non Language Environment program require the user to add to the JCL that is used to run the BMP.

  1. The IMSID must be DEBG or DEBA and the terminal_lu_name must be added to the PARM field.
  2. A COPEBSYS DD card must be added to specify the Logical System.
  3. A PARMFILE DD statement must be added.
  4. Additional DD statements as needed.

The IMSID must be DEBG. This will inform COPE that the DEBUG Tool is being used. In addition, the APARM parameter must contain the DEBUG Tool terminal_lu_name e.g.

//BMPEXEC PGM=DFSRRC00,
// PARM='BMP,TESTDLT0,DFSSAM09,,,,CL,,,1,,,,DEBG,IVP,,,,TRMLU001'

In this example

  • TESTDLT0 is the Application Program Name
  • DFSSAM09 is the PSB Name
  • DEBG id the IMSID
  • TRMLU001 is the APARM value

If the application program requires an APARM parameter, the IMSID must be set to DEBG and the terminal_lu_name specified in the PARMFILE data.

DFSRRC00 PARM Field Changes

COPE requires to know the environment that the application is executing within. This is done by adding a COPEBSYS DD statement with the Logical System specified as part of a temporary dataset name, for example,

//COPEBSYS DD SPACE=(TRK,1),UNIT=SYSDA,DSN=&&IVP9A

In the example the Logical System name is IVP9A. Your COPE administrator will provide you with the tokens that you may use.

Run time options are required to start DEBUG Tool. These are passed through a file with name PARMFILE, for example,

//PARMFILE DD *
/TEST(,,,MFI%TRMLU001:*),TRAP(ON)
/*

The example shows an in-stream file, but a sequential or PDS dataset may be used. The terminal_lu_name is overridden with the APARM data extracted from the DFSRRC00 PARM if DBUG is used as the IMSID else it must contain the users terminal_lu_name if DEBA is used as the IMSID.

DEBUG Tool makes use of INSPLOG file and a batch COPE trace may be started with a COPETRAC DD card, for example:

//INSPLOGDD SYSOUT=*
//COPETRAC DD SYSOUT=*

Add a COPEBSYS DD card.

Add a PARMFILE DD statement.

Add additional DD statements as required.

Debugging a DLI or DBB Program

The changes to the JCL are identical to those described for a BMP program. The format of the PARM field for DFSRRC00 is different. An example follows:

//BMPEXEC PGM=DFSRRC00,
// PARM='DLI,TESTDLT0,DFSSAM09,,,,,,,,,,DEBG,,,,,,,,TRMLU001'

In this example

  • TESTDLT0 is the Application Program Name
  • DFSSAM09 is the PSB Name
  • DEBG id the IMSID
  • TRMLU001 is the APARM value

SETUP of DEBUG TOOL for COPE

Change EQAOPTS

  1. Copy the EQAOPTS member from the hlq.SEQASAMP library to a private library.
  2. Make the following changes

    EQAXOPT GPFDSN,'TFTPROD.DEBUG.COPE'
    EQAXOPT SVCSCREEN,ON,CONFLICT=OVERRIDE,MERGE=COPE

The GPFDSN parameter must be an installation dataset name.

Update the Global Preferences File

The Global Preferences File specified with the GPFDSN EQAXOPT macro should contain the following statements.

SET DISASSEMBLY ON;
SET DISASSEMBLY OFF;
SET AUTOMONITOR ON LOG;
SET DYNDEBUG ON;

The first two statements are required else Language Environment will abend with a U4083. Other statements may be added or deleted.

Note

Statements must start in Column 8 and finish with a semi-colon.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*