Using debugging profiles to select programs for debugging

To select a program for debugging, you must create one or more debugging profiles. Each profile specifies a number of parameters that CICS® uses to decide if an instance of a program should run under the debugger's control.

Profiles can be active or inactive: if one of the active profiles matches the program instance, the program runs under the debugger's control. Inactive profiles are not examined when CICS starts a program. Profiles are inactive when they are created.

Table 1 is an example which shows how parameters in the debugging profiles are used to select program instances for compiled language programs; Table 2 shows how parameters in a debugging profile are used to select the program instance for a Java™ program.
Table 1. Examples of debugging profile parameters for compiled language programs
Debugging profile Transaction Terminal Program User Applid
Profile 1 PRLA T001 PYRL01 TESTER5 CICSTST2
Profile 2 PRLA * PYRL02 * *
Profile 3 PRL* * * * CICSTST3
Table 2. Example of a debugging profile for a Java program
Debugging profile Transaction Bean Method User Applid
Profile 4 PRLA NewEmployee setBasicSalary TESTER5 CICSTST2
This is how each profile controls which programs run under the debugger's control:
Profile 1
In this example, all the parameters in the table are specified explicitly: Program PYRL01 will run under the debugger's control only if all these conditions are satisfied:
  • The transaction is PRLA
  • The transaction was started by terminal input from terminal T001
  • The transaction is being run by user TESTER5
  • The transaction is running in region CICSTST2
Profile 2
In this example, some of the parameters in the table are generic parameters , specified as * ; generic parameters of this type match all values. This profile specifies that every instance of program PYRL02 that runs under transaction PRLA will be under the debugger's control.
Profile 3
This example contains another sort of generic parameter: PRL* matches all values that start with the characters 'PRL'. This profile specifies that every program that runs under a transaction whose ID starts with the characters 'PRL' in region CICSTST3 will be under the debugger's control.
Profile 4
Method setBasicSalary will run under the debugger's control only if all these conditions are satisfied:
  • The transaction is PRLA
  • The method is a method of bean NewEmployee
  • The transaction is being run by user TESTER5
  • The transaction is running in region CICSTST2
You should choose the parameters that you specify in your debugging profiles with care, to ensure that programs do not start under the debugger's control unexpectedly:
  • If you can do so, specify values for all, or most, of the parameters, to restrict debugging to particular programs in particular circumstances. Use specific values rather than generic values where possible.
  • Whenever possible, specify the userid and applid explicitly in each debugging profile.
  • Although it is inadvisable to debug programs in a production region, there may be times when you need to do so. On these occasions, use a debugging profile in which all the parameters are specified explicitly.
  • Activate debugging profiles only when you need to use them, and inactivate them immediately after use.