Preparing to use debuggers with CICS applications

CICS® supports the use of workstation-based and host-based debuggers for isolating and fixing bugs, and for testing applications. Before you can use a debugger with CICS applications, you must perform the following tasks.

Before you begin

About this task

Procedure

  1. Choose between a workstation-based and host-based debugger. When you debug an application program, you interact with the program through the debugging tools. For example, you may want to examine storage, set breakpoints, or step through your code. This interaction is a debugging session. In CICS, you can choose the environment in which you conduct your debugging session:
    Workstation-based
    A debugger client on the workstation provides a graphical user interface which you use to perform the debugging tasks. The debugger client communicates with a debugger server which runs on your CICS system, and interacts with the program that is being debugged.

    For more information, see Debugging CICS applications from a workstation.

    Host-based
    A debugging tool running in your CICS system provides a terminal interface which you use to perform the debugging tasks. The debugging tool interacts directly with the application as it executes.

    CICS supports Debug Tool for host-based debugging. For more information, see Using Debug Tool with CICS applications.

    Different application programs may have different debugging requirements (for example, Java™ programs cannot be debugged in a host-based debugging session). CICS lets different users use workstation-based and host-based debugging concurrently in the same region.
  2. Ensure that your application programs will be intercepted by the debugging tool, and that others will not. Even in a test or development system, most of your application programs will function correctly most of the time. And when you are debugging, you will probably want to focus on one application at a time. At the same time, your colleagues might want to debug different applications. So you will need a way to specify those programs in your CICS system that are to interact with your debugging session, and those that are to interact with other users' debugging sessions, while letting most programs in the system run normally.

    Debugging profiles let you do all this. A debugging profile specifies a set of application programs which are to be debugged together. When you make a profile active, the programs it defines run under the control of the debugger, using a debugging session that you have specified. When you make the profile inactive, the programs run normally again, as do programs that are not referred to in debugging profiles. Debugging profiles also let you define the characteristics of the debugging session that you will use to debug a particular program.

    For more information, see Debugging profiles.

  3. Prepare your programs for interacting with a debugger. CICS supports application programs written in a variety of languages. The compiled language programs (COBOL, PL/I, C, C++, and Language Environment-enabled Assembler subroutines) run under the control of Language Environment®; Java programs run in a Java virtual machine (JVM). Because there are, essentially, two different runtime environments for programs, there are two different ways to make your programs interact with the debugger.
    • For compiled language programs, you must decide when you compile your programs that you want them to interact with the debugger, and specify the appropriate compiler options. See the compiler documentation for more information.
    • For Java programs, you can decide at run time that you want them to interact with the debugger, and specify the appropriate JVM options. See JVM profiles: options and samples for more information.
  4. Ensure that your CICS system is set up to support the debugging environment. When you have debugging profiles in your CICS system, there is an overhead in starting a program, even when all the profiles are inactive. This overhead, although small, is unlikely to be acceptable in a high-performance production system. In any case, you would not normally debug your applications in such a system. Therefore, the use of debugging profiles is optional, and if you want to use them, your system programmer will need to configure CICS accordingly.

Example

What to do next



dfhp3_debug_oview.html | Timestamp icon Last updated: Thursday, 27 June 2019