Debugging a Language Environment program using a remote debugger without Debug Manager

With the remote debugger in the Eclipse IDE, you can debug Enterprise COBOL, COBOL for MVS and VM, Enterprise PL/I, later versions of C/C++ and assembler. You can use IBM z/OS Debugger JCL Wizard to create JCL statements to debug a Language Environment program with the TCP/IP TEST parameter.

  1. In ISPF Edit or Browse, enter EQAJCL G1 to bypass the z/OS Debugger JCL Wizard Option Selection panel, and request a debug session with the remote debugger. Alternatively, enter EQAJCL to invoke the IBM z/OS Debugger JCL Wizard and then select G1.
    Enter the EQAJCL G1 command.
  2. Obtain your IP address from your workstation:
    1. Start the Eclipse IDE.
    2. Open the Debug perspective.
    3. Click the arrow icon.
    4. Select Get Workstation IP from the list. More than one IP address might be shown.
    5. Select the IP address associated with your workstation. Right-click the workstation IP address, and copy this address for use by the IBM z/OS Debugger JCL Wizard.
    Obtain your workstation IP address.
  3. In the parameters panel, paste your IP address into the IP address field and enter the port number. The port number is generally 8001.
    Specify IP address and port number, and other values.

    Type YES in the LE Program field because this program is Language Environment enabled.

    To select an optional parameter, specify a forward slash (/) in the field.

    In this use case, At Entry and Automonitor on are selected.
  4. Since you chose to set AT ENTRY breakpoints for subprograms, the Request AT ENTRY Sub-Program Breakpoints panel is displayed. The subprograms SAM2 and SAM3 are dynamically called. The load module name of SAM2 and SAM3 is named SAM2 and SAM3 respectively. Therefore, only the program name is required.
    The subprogram names are dynamically called.
  5. In the Program/Procedure Selection List panel, the procedures and programs are listed. In this use case, the JCL points to a procedure and a program. Select the procedure that you want to debug.
    Select the procedure to debug.
  6. In this use case, the JCL points to a procedure. If the After line command was chosen, you can enter the procedure step override. RUNSAM1 is entered in this use case.
    Enter the procedure step override.
  7. JCL statements are generated to invoke z/OS Debugger.

    The procedure TESTSAM1 contains a step RUNSAM1, which invokes the SAM1 program. Use the procedure step override to define EQACMD DD (and its contents) for the RUNSAM1 STEP.

    The CEEOPTS DD statement is generated with the parameter TCP/IP, indicating you want to debug using the remote debugger with the appropriate IP address and port number.

    The automonitor is turned on, AT ENTRY breakpoints are set, and instructions are provided on how to view subroutines before invocation.

    The JCL is generated.

What to do next

You can now start a debug session with the remote debugger:
  1. Start the remote debugger in the Eclipse IDE.
  2. Enter your IP address.
  3. Submit the job.
If the remote debugger does not depict the initiation of a debug session, verify that the job is not waiting for an initiator, or failed with a JCL error.