PLITEST Subroutine

Purpose

Attaches the PL/I debugger to a set point in a program to be debugged.

Syntax

CALL PLITEST(plitest_commands, display_address, plitest_debugger);

Parameters

plitest_commands
A list of one or more commands to set the start location for debugging. Typically, this includes setting the current environment block (ENV <block>;), setting a breakpoint (BR <line#>;), and continuing execution to that breakpoint (C;).
display_address
Either a machine address:port or session identifier depending on which debugger is being invoked:
  • <address:port>: On Windows, the value for this field should be blank.
  • <session identifier>: When using Eclipse (plitest_debugger option 3), this is the same session identifier string entered in the Debug session identifier field in Debug Configuration in the Eclipse IDE.
plitest_debugger is a numeric value representing the type of CodeWatch debugger to be invoked.
  • 0 = Use Command-line CodeWatch.
  • 1 = Use the GUI CodeWatch
  • 3 = Used with Eclipse Debugger

Description

PLITEST is an API called from User programs that causes a debugger to start, attach to a user program, and execute a series of commands before giving control to the user. A PLITEST call is typically inserted in a user application where debugging is to start at a given point in the execution flow.

You can use PLITEST to debug PL/I programs running under CICS, or use the plitest parameter of the -optexec option to do the same. See Compiler Options and Debugging PL/I Programs Under CICS for more information.

Examples

These examples show usage of PLITEST, assuming use of the -bigendian option when compiling.

Example 1:

DCL Debug_Commands  char(1024) varying 
    init('SHLIB MAINP.dll;ENV MAINP;BR TESTLAB;c');
DCL Display_Address char(100) varying init('');
DCL PLITEST_Flags   fixed bin(31) init(1);
CALL PLITEST(Debug_Commands, Display_Address, PLITEST_FLAGS);

Example 2:

call plitest('env MAINP;br START_DEBUG;c',"MYDISPLAY", 3);

Restrictions

An XWindows Server such as Micro Focus ViewNow is needed if trying to display GUI CodeWatch on a Windows machine while running the user program on a UNIX/Linux server.