Creating a debug profile for a non-CICS application with an Eclipse IDE

To start the debugger when a particular resource is loaded, such as a subprogram or a stored Db2® procedure, instead of the first entry compile unit of the initial load module of an application, you must create and activate a non-CICS® profile. The non-CICS profile describes filters to trigger the debugger and other debugger configuration options. Non-CICS profiles are stored in a sequential data set called an EQAUOPTS file. Only one non-CICS profile can be active on a z/OS® system per user.

Procedure

  1. Open the z/OS Debugger Profiles view.
  2. To create a non-CICS profile, open the Debug Profile Editor in one of the following ways:
    • Click the Create non-CICS Profile icon (Create non-CICS Profile icon) in the view toolbar.
    • Right-click in the view and select Create non-CICS Profile.
  3. In the Debug Profile Editor, Specify appropriate values. To navigate to a field, you can also use the quick outline.
    Show/Hide Hints
    Click this link to show or hide descriptions for sections.
    Profile name
    Specify a profile name. A name is automatically generated when you create a new profile. You can use this name or specify a different one, but the name must be unique.
    Optional: Description
    Specify a description for the profile. The description is stored locally and visible in the z/OS Debugger Profiles view to help you identify a profile.
    Connection
    Select the Remote System Explorer z/OS connection where the profile is active. If no connection is available, click New to create a new z/OS connection.
    Location
    Specify the location of the profile.
    • If you are connecting to a Remote System Explorer z/OS connection that supports the Debug Profile Service API, the location name is automatically retrieved from the API and cannot be modified.
    • If you are connecting to a Remote System Explorer z/OS connection that does not support the Debug Profile Service API or Debug Profile Service is not running, you must specify the name of the EQAUOPTS file where the non-CICS profile is stored. This field is prefilled with the IBM® shipped default EQAUOPTS file, but the file might have been changed by your system programmer. Confirm with the system programmer about the correct value.
    Filters
    Load Module or DLL/Program or C Function
    Specify at least one to a maximum of eight load module or DLL and program or C function pairs. Double-click or press Enter in the table to add or modify an item.
    Note: Avoid using only the wildcard (*) for both load module or DLL and program or C function in the same pair unless you want to debug all applications.
    Optional: Additional Subsystem Filters
    Job Information
    Use these fields to trigger a debug session when a job that matches the specified job filters is run on the system. These filters are used with the previous filters.
    Job Name
    Specify a job name for the debugger to match.
    Step Name
    Specify a step name for the debugger to match.
    IMS Options
    Use these fields to trigger a debug session when IMS details match the specified information. These filters are used with the previous filters.
    Subsystem ID
    Specify the IMS subsystem ID where the debugger is triggered.
    Transaction ID
    Specify the IMS transaction ID to trigger the debugger.
    Optional: Debugger Options
    Test level
    Select TEST or NOTEST from the list of TEST runtime options.
    TEST
    Use this option to give z/OS Debugger control according to the specified options.
    • If z/OS Debugger is started with CEETEST, PLITEST, or __ctest(), the options in the debug profile are used.
    • If z/OS Debugger is started by using CALL CEETEST or an equivalent entry, you cannot debug higher-level non-Language Environment® programs or intercept non-Language Environment events that occur in higher-level programs after you return from the program that started z/OS Debugger.
    NOTEST
    Use this option so that z/OS Debugger is not started at program initialization. However, you can still start z/OS Debugger with CEETEST, PLITEST, or the __ctest() function. In this case, the suboptions specified with NOTEST are used when z/OS Debugger is started.
    Error level
    Select ALL, ERROR or NONE from the list of TEST runtime suboptions.
    ALL
    Specifies that the following occurrences cause z/OS Debugger to gain control, regardless of whether a breakpoint is defined for that condition.
    • An attention interrupt
    • An ABEND of a program
    • Any program or Language Environment condition of Severity 1 and above
    ERROR
    Specifies that only the following conditions cause z/OS Debugger to gain control without a user-defined breakpoint:
    • For C and C++: an attention interrupt, program termination, a predefined Language Environment condition of Severity 2 or above, any C and C++ condition other than SIGUSR1, SIGUSR2, SIGINT, or SIGTERM.
    • For COBOL: an attention interrupt, program termination, a predefined Language Environment condition of Severity 2 or above.
    • For PL/I: an attention interrupt, program termination, a predefined Language Environment condition of Severity 2 or above.
    NONE
    Specifies that z/OS Debugger gains control from a condition only when a breakpoint is defined for that condition.
    Prompt level
    Select PROMPT or NOPROMPT from the list of TEST runtime suboptions.
    PROMPT
    Indicates that you want z/OS Debugger to start immediately after Language Environment initialization. Commands are read from the preferences file and then any designated primary commands file. If neither file exists, commands are read from your terminal or workstation.
    NOPROMPT
    Indicates that you do not want z/OS Debugger to start immediately after Language Environment initialization. Instead, your application begins running.
    If you specify the NOPROMPT suboption, you cannot debug higher-level non-Language Environment programs or intercept non-Language Environment events that occur in higher-level programs after you return from the program that started z/OS Debugger.
    When z/OS Debugger is running without the Language Environment runtime started by using EQANMDBG, the NOPROMPT option is ignored; PROMPT is always in effect.

    Commands data set
    Specify a valid fully qualified data set name that contains the initial debugger commands to run when the debug session starts, or click Browse to select a data set. A valid VADSCPnnnnn entry is also accepted.
    Note: Not all commands are permitted in remote debug sessions. You might see errors in the Debug Console view if such commands are included in the commands data set.
    Preferences data set
    Specify a valid fully qualified data set name that contains debugger commands that customize your debug session, or click Browse to select a data set.
    Note: Not all commands are permitted in remote debug sessions. You might see errors in the Debug Console view if such commands are included in the preferences data set.
    EQAOPTS file
    Specify the name of the data set containing the EQAOPTS commands for your debug session, or click Browse to select a file.
    Language Environment options
    Specify any additional Language Environment (LE) options that your program might need. You can change any Language Environment option that your site allows you to override except the STACK option. This option is not available for non-CICS profiles.
    Optional: Advanced Connection Options
    Specify these options to connect to a client other than the current one, such as for headless code coverage or to send a debug session to another user’s client.
    Connect with specific client information
    Select this option to force the debug profile to use connection information that you specify. Specify either an IP and port, or a user ID.
    IP
    Specify the IP name or address to connect with when the debug or code coverage session is triggered.
    Port
    Specify the TCP/IP port that the debug daemon or headless code coverage collector is listening for incoming sessions.
    User ID
    Use this option when Debug Manager is running, and you want to send a debug session to another user’s client. That user must be signed into Remote System Explorer.
  4. Click the Save without Activating icon (Save icon) to save the profile without activation, or the Save and Activate for Debug icon (Save and Activate for Debug icon) or the Save and Activate for Compiled Code Coverage icon (Save and Activate for Complied Code Coverage icon) in the editor toolbar to save and activate the profile on the remote connection.
    Optionally, press M1+Sa to save without activating, M1+Da to save and activate for debug, or press M1+M2+Ca to save and activate for code coverage.
    1. M1 is the COMMAND key on macOS, and the Ctrl key on most other platforms. M2 is the SHIFT key.