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>: When using the legacy CodeWatch command line or GUI debugger (plitest_debugger options 0 or 1) on non-Windows platforms, this will be the remote machine name and port number for an xWindows server to display the debugger UI on. 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
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.