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.
This is how each profile controls which programs run under
the debugger's control:
| Debugging profile | Transaction | Terminal | Program | User | Applid |
|---|---|---|---|---|---|
| Profile 1 | PRLA | T001 | PYRL01 | TESTER5 | CICSTST2 |
| Profile 2 | PRLA | * | PYRL02 | * | * |
| Profile 3 | PRL* | * | * | * | CICSTST3 |
| Debugging profile | Transaction | Bean | Method | User | Applid |
|---|---|---|---|---|---|
| Profile 4 | PRLA | NewEmployee | setBasicSalary | TESTER5 | CICSTST2 |
- 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
setBasicSalarywill 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.