InterTest™ and SymDump ® 11.0
Variable-Change Breakpoints
A variable-change breakpoint is a special type of conditional breakpoint that takes effect when the value of a specified
COBOL or Assembler variable changes. If you set a variable-change breakpoint while the variable is also listed in the
Keep window, the variable's new value immediately appears at the top of the breakpoint display when the breakpoint is
triggered.
To set a variable-change breakpoint from a Source Listing screen, follow these steps:
1.Enter v in position 1 of any line in the program listing that defines or references the variable.
2.If the statement references  the variable, place the cursor under any character in the variable name. (Omit this step if
the statement defines the variable.)
3.Press Enter.
To set a variable-change breakpoint for a variable in the Keep window, follow these steps:
1.Enter v next to the variable name in the Keep window.
2.Press Enter.
Set variable-change breakpoints before or during program execution. If you set the breakpoint before execution, the
variable's initial value is its value when it first becomes known to InterTest for CICS during execution. Any change from
this initial value triggers the variable-change breakpoint.
Set Conditional Breakpoints from the Menus explains how to set variable-change breakpoints when the value of a variable
increases or decreases.
Request Breakpoints
This section reviews setting request breakpoints from the source listing and from the menus.
Set Request Breakpoints from the Source Listing
Set request breakpoints to halt a program prior to CICS commands and other program calls (such as calls to DL/I, DB2,
or SQL/DS). Instruct InterTest for CICS to halt the program before every CICS command, or a type of CICS command,


such as File Control or Program Control commands. Specify that the program halts before specific commands, such as all
READ or WRITE commands. Once the program is halted, use all of the InterTest for CICS facilities to inspect and modify
main storage or auxiliary storage or to set additional options.
Set request breakpoints easily from the source listing by entering the RBP command. Once set, request breakpoints are
identified by an R  during program execution. Set them also from the Monitoring menus and they are most easily removed
from the Monitoring Status display (STATUS command).
After completing the RBP menus, press PF4 Return  until InterTest for CICS returns you to the Source Listing display.
Set Request Breakpoints from the Menus
When viewing a program listing before or after a breakpoint, specify the RBP command to display the RBP menus.
Alternatively use the Program Monitoring (2.1), Transaction Monitoring (2.2), or Terminal Monitoring (2.33) menu to set
request breakpoints. Complete the top of the menu according to how you are monitoring or want to monitor the program,
terminal, or transaction, and select the RBP option on the bottom of the menu. Detailed steps on how to do this are given
next for users unfamiliar with the monitoring menus.
1.Access the Primary Option Menu, and select 2 Monitor  to access the Monitoring Menu.
2.Select option 1 Program  to have the request breakpoints apply to a monitored program. Alternatively, select another
monitoring option if you are monitoring by Transaction (2) or Terminal (2).
3.On the Monitoring submenu, complete the monitoring entry for the Program (Terminal or Transaction) and user ID, and
then type s next to the RBP Option for Request Breakpoints and press Enter .
 985


InterTest™ and SymDump ® 11.0
After specifying the RBP command from the Source Listing screen or completing the monitoring menu with the RBP
option selected, InterTest for CICS displays the Request Breakpoint Selection menu.
On this screen enter an x next to the options you want to select. You can specify any of the following breakpoints:
ALL commands
The program halts prior to all CICS commands.
DL/I
The program halts prior to all DL/I calls.
DB2
The program halts prior to all calls to DSNHLI (for DB2 users) or prior to all calls to ARIPRDI (for SQL/DS users).
CALLS
The program is halted prior to calls to software that InterTest has been instructed to recognize at installation time.
A second screen, where you specify the calls, displays.
NOTE
If you select a type of CICS command, InterTest for CICS displays a second screen. For example, if you select
File Control, InterTest for CICS displays the File Control screen.
When you have entered all of the necessary information, press Enter. If you entered an x next to a type of command,
InterTest for CICS displays a second screen.
Example
If you selected the File Control option, the Monitoring Command Builder Request Breakpoint Selection screen displays.
     CA InterTest MONITORING COMMAND BUILDER   REQUEST BREAKPOINT SELECTION

              Set  one or more types of File Control commands in:
                                  PROG=COBDEMO

                _ All commands

                  →  x READ
                  →  x WRITE
                      _ REWRITE
                      _ DELETE
                      _ UNLOCK
                      _ STARTBR
                      _ READNEXT
                      _ READPREV
                      _ ENDBR


_ READNEXT
                      _ READPREV
                      _ ENDBR
                      _ RESETBR

                Enter 'n' to stop only every n'th time   ____

 PF1 Help       2            3 End        4 Return     5            6
 PF7            8            9           10           11           12
Using this screen specify that the program be halted at all File Control commands, or select specific File Control
commands. In this example, the user specified that program COBDEMO be halted at all READ and WRITE commands.
 986


InterTest™ and SymDump ® 11.0
Remove Breakpoints
There are several ways to remove breakpoints. One of the easiest is to enter an R next to any breakpoint entry on the
Monitoring Status display. This section discusses two other ways of removing breakpoints:
•From your Source Listing Breakpoint or Display
•From the Monitoring Menus (using STATUS command)
Remove Breakpoints Flagged on Your Source Listing
You can remove breakpoints as quickly as you set them. Statements where you previously set unconditional breakpoints
are flagged with a U or ) in column 1. Statements with conditional breakpoints are flagged with a C. During program
execution, locations where InterTest for CICS stops because of a variable-change or request breakpoint are flagged with
V or R, respectively.
•To change the type of breakpoint at a given location, first remove the existing breakpoint, and then set the next one.
•Remove automatic breakpoints only if the error is corrected. However, you can go around the error and start execution
from another point.
The following list explains how to remove each type of breakpoint.
Unconditional, Conditional or Variable-change breakpoints
While viewing the source at a breakpoint, type an x over the U, ), C, or V; press Enter.
Unconditional or Conditional breakpoints set at all COBOL paragraph names, or Assembler or PL/I
procedures
Either enter x to the left of the Procedure-Names or Symbol header line or Declare line in the Cross-Reference
section of the listing and press Enter, or type an R next to the UBP or CBP entry on the Monitoring Status display
and press Enter.
Unconditional or Conditional breakpoints set at all references to a COBOL or Assembler data name
Type an x over the C in the Cross-Reference section of the listing and press Enter, or type an R next to the UBP


or CBP entry on the Monitoring Status display, and press Enter.
Request breakpoints
Specify the STATUS command then type R next to the RBP entry on the Monitoring Status display, and
press Enter, or repeat the menu steps for setting the breakpoint, but enter an R next to the RBP option on the
Monitoring menu. Complete the menus as you did when setting the request breakpoints.
* All breakpoints
Remove monitoring for the program. For more information, see Monitoring Menu Options. Do this from the
Monitoring Status display.
WARNING
If the program is being monitored for .ANY user, remove the breakpoints instead of the monitoring entry.
Removing monitoring for a program that others might also be testing is risky.
NOTE
If you set more than one type of breakpoint at the same location, InterTest for CICS flags and intercepts only one
at a time -- the first one you set. Once you remove the first one, the next one you set is flagged and activated,
and so on.
Remove Unconditional Breakpoints from the Menus
Remove unconditional breakpoints using the monitoring menus of the Primary Option Menu or using the STATUS
command menu when at a source listing breakpoint display.
 987


InterTest™ and SymDump ® 11.0
To remove an unconditional breakpoint using the menus, access the Program Monitoring (2.1), Transaction Monitoring
(2.2), or Terminal Monitoring (2.3) menu, and follow these steps:
1.Repeat the monitored entries for the following items:
–Program, transaction, or terminal (whichever is being monitored)
–User ID under which the entry is being monitored
2.Enter r next to the UBP Option for Unconditional Breakpoints and press Enter
The Remove Breakpoint Locations screen appears.
To remove all unconditional breakpoints from a program, enter .ALL  in the Para/Data field and press Enter.
You can also remove breakpoints using the Set Breakpoint Locations screen.
Remove Conditional Breakpoints from the Menus
To remove conditional breakpoints from the menus, use the monitoring menus of the Primary Option Menu.
On the Program Monitoring (2.1), Transaction Monitoring (2.2), or Terminal Monitoring (2.3) menu, follow these steps:
1.Repeat the monitored entries for the:
–Program, transaction, or terminal (whichever is being monitored)
–User ID under which the entry is being monitored
2.Enter r next to the CBP Option for Conditional Breakpoints.
3.Press Enter.
The Remove Conditional Locations screen displays.
To remove all conditional breakpoints from a program, enter .ALL  in the Para/Data field and press Enter.
You can also remove breakpoints using the Set Conditional Breakpoints screen.
Remove Request Breakpoints
To remove request breakpoints from the menus, use the monitoring menus of the Primary Option Menu.
On the Program Monitoring (2.1), Transaction Monitoring (2.2), or Terminal Monitoring (2.3) menu, follow these steps:
1.Repeat the monitored entries for the:
–Program, transaction, or terminal (whichever is being monitored)


–Program, transaction, or terminal (whichever is being monitored)
–User ID under which the entry is monitored
2.Enter r next to the RBP Option for Request Breakpoints.
3.Press Enter.
The Remove Request Breakpoints screen appears. Enter the information exactly as you originally defined it.
Breakpoint Activities
Examine the Source Listing Breakpoint Screen
When InterTest for CICS V10 - monitors a program, it halts program execution each time it detects an error or a user-
specified breakpoint; it then displays a breakpoint screen. The following screen shows an automatic breakpoint.
   CA InterTest for CICS - PROTDEM FILE SOURCE LISTING BREAKPOINT
COMMAND ===>
Program= COBDEMO  Option #       Stmt #                             Margin= 01
                                        Search=
 988


InterTest™ and SymDump ® 11.0
OPTS 1 Proc div  2 Work-stor 3 Link sect 4 D-map      5 Clst/Pmap More:   +
     6 Data xref 7 Proc xref 8 Err msgs  9 Srch fwd  10 Srch bwd
PFKS 1 Help      2           3 Det Bkpt  4 Profile    5 Resume     6 Menu
     7 Backward  8 Forward   9 Next Wnd 10 001 Verb  11 Backtrace 12 Status
--------------------------------------------------------------------------------
   _ 00880 CONTINUETASK.
     00881**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED
   A   ==> ADD +1 TO TASKNUM.
       ==>
     ==> ASRA abend (0C7) detected and prevented. Caused by invalid decimal
       ==> arithmetic data format.
       ==>
       ==>      Press PF1 for a detailed description.
       ==>
   _ 00883     IF TASKNUM = 1
   _ 00884         MOVE 'DMAPASR'  TO MAPNAME.
   _ 00885     IF TASKNUM = 2
   _ 00886         MOVE 'DMAPSUM'  TO MAPNAME.
   _ 00887     IF TASKNUM GREATER 2
   _ 00888         GO TO SENDENDMSG.
A
Indicates the type of breakpoint that occurred:
A
Automatic, detected by InterTest for CICS
U
Unconditional breakpo int that stops before  the specified item
)
Unconditional breakpoint that stops after the specified item
C
Conditional
V
Variable-change
R
Request
ADD +1 TO TASKNUM


C
Conditional
V
Variable-change
R
Request
ADD +1 TO TASKNUM
Indicates the statement or offset where the breakpoint occurred.
ASRA abend ...
These lines tell you why an automatic breakpoint occurred. For more information, press  PF1 . To remove these
lines, press Enter  or scroll using PF7 or PF8 to see additional lines of source listing code.
Source Listing Breakpoint Commands
The command line at a Source Listing Breakpoint supports all of the commands described for a Source Listing Display
plus the following commands: AUTOSTEP, BTRACE, CS, FO, GO, NEXT, RESUME, RESETBKP, and RUN. These
commands are defined in the following table. In addition, use the command line to enter InterTest for CICS single-line
commands for CNTL, CORE, and FILE. See the online help and other topics in this area for information about single-line
commands.
 989


InterTest™ and SymDump ® 11.0
NOTE
You cannot use this command line to enter InterTest for CICS system-wide CNTL options.
Command PF Key Description
ABEND None Display the Abend Breakpointed Task
screen
ABI ON None Turn abend intercept on (default). This
intercepts all CICS abends and produces
an automatic breakpoint screen providing a
CICS HANDLE ABEND LABEL/PROGRAM
is not active.
If you want to intercept CICS abends for
programs having an active CICS HANDLE
LABEL/PROGRAM, see the ABI FORCE
command.
ABI OFF None Turn abend intercept off. This causes
InterTest for CICS to stop intercepting CICS
abends. No automatic breakpoint screen
appears and the program abends.
ABI FORCE None Turn Abend Intercept on for all CICS
ABENDS, even if a program has an
outstanding HANDLE ABEND active or
issues a CICS HANDLE ABEND command.
Use this option when you want an
automatic breakpoint screen for programs
that also have active HANDLE ABENDS to
process their own errors.
ADVANCE n
ADV n
A nNone Advances n entries in the statement trace
table and displays the resulting statement.
(If n is not specified, it defaults to 1.) If
data monitoring is active, past data values
for the statement are also displayed. Use
this command to redisplay the execution
sequence of a program. Statement tracing
must be active for the ADVANCE command
to function (see the TRACE option).
Note: This command is only valid for
COBOL programs.
AUTOSTEP x y
AS x yNone Resume execution x verb(s) at a time
displaying the current source statement
for a y interval of time. This command is
available only at a breakpoint. Default: One


for a y interval of time. This command is
available only at a breakpoint. Default: One
verb at at time until next CALL/COMMAND.
BOTTOM
BOTNone GO to bottom of source.
BPO None Jump to Breakpoint Option screen.
BTRACE PF11 Backtrace. Displays the backtrace
summary. This command is available only
at a breakpoint.
BWD PF7 Scroll backward. Set the scroll amount on
the Source Listing Profile. Does not apply
within the Keep window.
 990


InterTest™ and SymDump ® 11.0
CALLTRACE None Shows the program call flow leading up to
the currently breakpointed program. Select
programs having symbolic support from
the list and display their data areas. Select
channels at a specific program level from
the CALLTRACE program list.
CHANNEL None Displays the currently allocated channel
and the containers in the channel. Display
the data within a container from the
selection list .This feature is only valid in
CICS releases that support CHANNELs
and Containers.
CNTL None Displays the CNTL Command Menu.
Note: The Monitoring Menu (=1.2) is an
alternative to using the CNTL menu.
COMPOSITE None Set composite monitoring options for
monitoring of sub-programs.
CORE None Displays the Main Storage menu. Select
an option to view a main storage (CORE)
display.
COUNTS SHOW None Turns on the code coverage COUNTER
display. To activate code coverage, see
Customizing the Source Listing Profile or
issue PROFILE command.
COUNTS NOSHOW None Turns off the code coverage COUNTER
display. To deactivate code coverage, see
Customizing the Source Listing Profile or
issue the PROFILE command.
COUNTS RESET None Resets the program code coverage
statement counters to zero.
COUNTS op value None Turns on the code coverage COUNTER
display and highlights program statements
that match the criteria. The source listing is
repositioned to the first statement matching
the criteria.
Op values: EQ or =, NE or <>, LT or <, GT
or >, LE or <= or =<, GE or >= or =>
Values: 0 to 9999
COUNTS NEXT None Repositions the source listing to the next
statement that matches the previously
specified COUNT op value criteria.
COUNTS ALL None Removes previously specified COUNT op


specified COUNT op value criteria.
COUNTS ALL None Removes previously specified COUNT op
value criteria and redisplays source listing
without special COUNTER highlighting.
CS None Go to current breakpoint source statement.
This command is available only at a
breakpoint.
DATAMON
DMNone Displays the Monitoring Command Builder
menu to set and remove statement tracing
and data monitoring.
Note: This command is only valid for
COBOL programs.
 991


InterTest™ and SymDump ® 11.0
DATAMON ON
DM ONNone Turns data monitoring on. This causes
InterTest for CICS to capture data values
for each executed statement in the
program. You are then able to redisplay
these values at a breakpoint, by tracing
backward and forward through the entries
in the statement trace table using the PREV
and ADVANCE commands. DATAMON ON
forces TRACE ON.
Note: This command is only valid for
COBOL programs.
DATAMON OFF
DM OFFNone Turns data monitoring off. This causes
InterTest for CICS to stop capturing data
values for each executed statement in the
program. In addition, you can no longer
display captured data values when tracing
backward and forward through the entries
in the statement trace table using the PREV
and ADVANCE commands.
Note: This command is only valid for
COBOL programs.
DISPLAY data-item
D data-itemNone Displays the storage of a data name.
DOWN None Shift listing down.
END PF3 Returns to the prior display or menu.
FILE None Displays the Auxiliary Storage menu. Select
an option to view a file or queue.
FIND
FNone Find a string
FO None Find hexadecimal offset. This command is
available only at a breakpoint.
FP None Find paragraph.
FS None Find statement number.
FWD PF8 Scrolls forward the amount indicated on the
source listing Profile. Does not apply within
the Keep window.
GO None Continue until the next intercept occurs.
This command is available only at a
breakpoint.
HELP PF1 Displays help for the source listing facility.
IC None Jump to Indirect Command screen.
ITST None Displays the Primary Option menu.
KEEP data-item
K data-itemNone Add a data-item to the static Keep window
LEFT None Shift listing left.


K data-itemNone Add a data-item to the static Keep window
LEFT None Shift listing left.
LOCATE
LOC
LNone Locate line number or part of the listing.
MARGIN
MARNone Shift listing to specific margin.
 992


InterTest™ and SymDump ® 11.0
MENU PF6 Displays the Breakpoint Primary Option
menu.
MONITOR None Sets monitoring for the listed program.
NEXT
NPF10 Execute the next verb in a program. This
command is available only at a breakpoint.
NEXT OVER None Continue the test session when stopped
on a PERFORM or CALL until the lexical
statement following the PERFORM or CALL
is encountered, where a breakpoint occurs.
NEXT RETURN None Continue the test session when stopped
within a paragraph or subroutine until
the session encounters the lexical
statement following the PERFORM or
CALL that invoked the current paragraph
or subroutine, where a breakpoint occurs.
TRACE ON must be enabled.
OFFALL None Removes all breakpoints set by active
USER or TERMINAL. Active USERID
is used if a valid USERID is signed on.
Otherwise, the active TERMINAL is used.
ALL breakpoints for ALL programs/
transactions/ are removed that were set by
the active USERID or active TERMINAL.
OFFALL TERM None Removes all breakpoints set by active
TERMINAL.
OFFALL USER None Removes all breakpoints set by active
USER.
PO None Set or remove storage protection options
PREV n
P nNone Backs up n entries in the statement trace
table and displays the resulting statement.
(If n is not specified, it defaults to 1.) If
data monitoring is active, display also past
data values for the statement. Use this
command to step backward through the
execution of a program. Statement tracing
must be active for the PREV command to
function (see the TRACE option).
Note: This command is only valid for
COBOL programs.
PROFILE PF4 Displays the source listing Profile, where
you change settings for the current session.
RBP None Set or remove Request Breakpoints


you change settings for the current session.
RBP None Set or remove Request Breakpoints
RESETBKP Clear Repositions breakpointed task at current
breakpoint.
RESUME PF5 Resumes breakpointed task at next
sequential instruction. This command is
available only at a breakpoint.
RIGHT None Shift listing right.
RO None Set or remove replacement options
 993


InterTest™ and SymDump ® 11.0
RUN None Resume execution ignoring all breakpoints.
This command is available only at a
breakpoint.
SET None Initialize a data-item's value
SO None Set or remove special options
SDFDATA None Displays data in Structure Display Format
for the current program.
SDFHEX None Displays data in hexadecimal/character
format for the current program.
STATUS PF12 Displays the Monitoring Status report
(Option 2.4 on the Primary Option
Menu) for the current program. Remove
monitoring, breakpoints, and options
directly from the Status display.
STATUS
ALLNone Displays the Monitoring Status report for
all programs, transactions, and terminals
InterTest for CICS is monitoring in the
region.
Storage None Displays a listing off all USER and CICS
class storage associated with the currently
breakpointed task (most storage acquired
by InterTest for CICS is not displayed), this
command also checks the crumple zones of
each piece of storage for validity.
TRACE
TRNone Displays the Monitoring Command Builder
menu to set and remove statement tracing
and data monitoring.
Note: This command is only valid for
COBOL programs and is unrelated to the
Backtrace facility.
TRACE ON
TR ONNone Turns statement tracing on. The number of
entries to be saved in the statement trace
table is determined by the STMTTRCE
option in IN25OPTS. The default is 1000.
Note: This command is only valid for
COBOL programs and is unrelated to the
Backtrace facility.
TRACE OFF
TR OFFNone Turns statement tracing off. TRACE OFF
forces DATAMON OFF.
Note: This command is only valid for
COBOL programs and is unrelated to the
Backtrace facility.
TOP None Go to top of source.


Backtrace facility.
TOP None Go to top of source.
UP None Shift listing up.
=x.y.z
=1.x.y.zNone Fast-path to Breakpoint Primary Menu
Option x.y.z, discussed in Breakpoint
Activities. The equivalent ITST Primary
Option Menu fast-path entries are = 1.x.y.z.
<{nnnn} None Used in the Keep window to scroll data item
storage left nnnn bytes.
>{nnnn} None Used in the Keep window to scroll data item
storage right nnnn bytes.
 994


InterTest™ and SymDump ® 11.0
+{nnnn} None Used in the Keep window to increase
COBOL index item value by nnnn (if no
value is entered the default is 1).
-{nnnn} None Used in the Keep window to decrease
COBOL index item value by nnnn (if no
value is entered the default is 1).
Source Listing Breakpoint PF Keys
The following PF keys are available for Source Listing Breakpoint:
PF1 Help
Displays a Help menu relating to the current Source Listing Breakpoint screen.
PF2
Unassigned.
PF3 Det Bkpt
Displays the Breakpoint Information screen for the current breakpoint. This function is available only at a
breakpoint.
PF4 Profile
Displays the Source Listing Profile screen.
PF5 Resume
Continues program execution at the next sequential instruction. This function is available only at a breakpoint.
PF6 Menu
Displays the Breakpoint Primary Options Menu discussed here.
PF7 Backward
Scrolls the compiler output backward one page or the amount set on the source listing profile. Does not apply
within the Keep window.
PF8 Forward
Scrolls the compiler output forward one page or the amount set on the source listing profile. Does not apply within
the Keep window.
PF9
Switch to next window.
PF10 001 Verb
001 Verb/Instr/Stmt or Autostep single steps or auto steps through execution, as indicated by the PF key label.
Use PF4 to specify the stepping function and amount on the source listing Profile. This function is available only at
a breakpoint.
PF11 Backtrace
Displays the Backtrace Summary. This function is available only at a breakpoint.
PF12 Status
Displays the Monitoring Status for the current program. Remove breakpoints and monitoring directly from the
Status report.
PF19


Status report.
PF19
Scrolls forward within the Keep window.
PF20
Scrolls backward within the Keep window.
Clear
Redisplays the current breakpoint.
 995


InterTest™ and SymDump ® 11.0
Respond to Automatic Breakpoints
An automatic breakpoint occurs when InterTest for CICS detects an error. When a program is stopped at an automatic
breakpoint, either correct the error or go around it.
To find out what caused the error and for instructions on how to fix it, press PF1 from any automatic breakpoint display
with the error message displayed. InterTest for CICS Help provides additional information about the specific error. In most
cases, Help recommends how to handle the error.
Bypass the Monitoring of a Statement that Triggered an Automatic Breakpoint
Sometimes InterTest for CICS stops you at an automatic breakpoint when the program is working according to your
specifications. These are usually instances when you are intentionally violating a CICS coding standard. To continue
program execution without removing the error, bypass the statement, as described next, or set an InterTest for CICS
monitoring option so that you are not stopped again (such as NOM).
WARNING
This function bypasses monitoring only of the individual Assembler instruction. For high-level COBOL or PL/I
programs, there might be more than one Assembler instruction per statement, which could trigger more than one
automatic breakpoint for a single statement. As a result, you might have to invoke this function more than once
to continue past a statement stopped at an automatic breakpoint.
There are two methods of bypassing an automatic breakpoint: temporarily and permanently. A temporary override works
for the current breakpoint only. A permanent bypass works each time the statement is executed.
Temporary Override
To temporarily bypass the monitoring of a statement that triggered an automatic breakpoint:
1.Press PF6 to display the Breakpoint Primary Option Menu.
2.Select Option 5 Override Automatic Breakpoint.
NOTE
For fast-path entry, enter =5 on the command line of the Breakpoint display.


NOTE
For fast-path entry, enter =5 on the command line of the Breakpoint display.
The override lets the statement that caused the breakpoint to be executed for this instance, only.
Permanent Bypass
To permanently bypass the monitoring of a statement that triggered an automatic breakpoint:
1.Overtype the A on the Source Listing Breakpoint with b .
2.Press PF5 or PF10  to resume execution. This lets the statement causing the breakpoint to be executed; that is, the
bypass function lets the error to occur.
NOTE
This command may be password protected.
Work with Data at a Breakpoint
When InterTest for CICS detects a breakpoint, it halts the program before the instruction at the breakpoint location is
executed. While at a breakpoint, InterTest for CICS preserves the task's main storage for examination or modification prior
to task resumption. Here is a summary of how to work with your data at a breakpoint. Each function is explained later.
NOTE
When using DWARF as a debugging format, a copy of the source is displayed, not a listing.
 996


InterTest™ and SymDump ® 11.0
View or Search for Data
View any portion of your compiler output and search for occurrences of data strings.
Keep Data in Window
Keep the values of data items, displayed up to 6 at a time, at the top of your source listing in the Keep window.
This lets you observe changes in their values as the program executes without having to leave the source listing
display.
When the Keep window is active, the header lines listing the InterTest for CICS options and PF key functions are
replaced with a command line. To view options and PF keys, press PF4, then press Enter to return.
Code Coverage Counters in Window
Display a counter for each line of code and check its verb execution count. This lets you observe changes in the
execution value as the program executes without having to leave the source listing display.
Display or Modify Main Storage
Display and dynamically change data in main storage at any breakpoint. If there is an error, fix it in main storage,
and then continue execution as if the error never existed.
Online access to main storage means you do not have to wait for and analyze a dump. To make accessing main
storage easy, InterTest for CICS provides a structured display of main storage with data names on the left and
both hexadecimal and character values on the right.
Display or Modify Auxiliary Storage
View, modify, or create test data using the FILE transaction. At a breakpoint, verify test data, and even create test
records.
Search for Data
Ask InterTest for CICS to define, search for, and display any character string (such as a data item, label, or paragraph
name). This is a quick way to go to different areas in a listing when you want to set a breakpoint or check your code.


Search for data using the Search=field, or by entering a FIND or LOCATE command on the command line. If you know the
line number, hex number, or the label that you want to view, use the line commands to position the listing accordingly.
Find a Definition or Search Using the Search = Field
Use the Search= field to define or search for data as follows.
To display the definition of a data item, follow these steps:
1.Enter a data item name up to 31 characters in the Search= field.
2.Press Enter to begin the search. InterTest for CICS highlights the data item and its definition.
To search for a data item, follow these steps:
1.Enter up to 31 characters in the Search=  field.
2.Specify the search direction in the Option # field. (Option # 9 is Search Forward; Option # 10 is Search Backward.)
3.Press Enter to begin the search.
For COBOL nested programs, InterTest for CICS first searches the current nested program (indicated in the NESTED=
field) for the specified data item. If the data item is not found in the indicated program, InterTest for CICS then searches
the main program and other nested programs for the item.
It is not necessary to enter the entire data item, label, or paragraph name; enter the first few characters to begin your
search.
Example
If you wanted to search for TASKNUM, you could enter TASK, TASKN, and so on, in the Search= field.
 997


InterTest™ and SymDump ® 11.0
The Online Listing
Use the command line commands to position or shift the view of the listing. Go to the top or bottom of the listing, shift
the listing to the right or left a specific number of characters, position the listing to a specific line. Described next are two
additional commands that are available only at a source listing breakpoint. These commands enable you to position a
listing at specific hex number, or position the listing to a specific label or to the current breakpointed line.
Position Listing to a Hex-Offset
To position the listing to a specific hex-number, enter:
FO hex-number
Hex-number
Indicates any hex number within an Assembler program.
NOTE
FO is available only during breakpoint processing.
Position Listing to Current Breakpoint Processing
To position the listing to the current breakpointed line, enter CS. CS is available only during breakpoint processing.
The Keep Window
Display items from main storage in a window at the top of the Source Listing display. Keeping items in the Keep window
lets you easily compare values and observe changes in values. It also lets you to dynamically modify the displayed values
as the program executes.
Add a Storage Item
Display up to six data items at one time in the Keep window whenever the source listing is displayed. Identify the data
items whose values you want to observe. If you identify more than six items, the first six items that you specify are
displayed. When one item is removed from the Keep window, another item appears. If there are more than six items in
total, view these by scrolling forward.
The following screen shows four data items displayed, in hexadecimal format, in the Keep window on the source listing
breakpoint display.
     CA InterTest for CICS - PROTDEM FILE SOURCE LISTING BREAKPOINT
COMMAND ===>


COMMAND ===>
Program= COBDEMO  Option #       Stmt #                             Margin= 01
                                        Search=

 ---------------------------------------------------------------------------
  |    TASKNUM                       | 000000
  |    TASKIDNO                      | 000F
  |    TASKDATE                      | F0F961F1 F561F8F9
  |    VARLENGTHDATA                 | 00
 ----------------------------------------------------------------------------
  _ 00880 CONTINUETASK.
    00881**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED
  A   ==>     ADD +1 TO TASKNUM.
      ==>
      ==> ASRA abend (0C7) detected and prevented. Caused by invalid decimal
      ==> arithmetic data format.
      ==>
 998


InterTest™ and SymDump ® 11.0
      ==>      Press PF1 for a detailed description.
      ==>
  _ 00883     IF TASKNUM = 1
  _ 00884         MOVE 'DMAPASR'  TO MAPNAME.
To add a data item from where it is defined, follow these steps:
1.Enter k to the left of the statement defining it.
2.Press Enter . InterTest for CICS places the data item in the Keep window.
To add a data item from where it is referenced, follow these steps:
1.Enter k to the left of the statement referencing it.
2.Place the cursor under any character in the data item.
3.Press Enter . InterTest for CICS places the data item in the Keep window.
NOTE
Data items remain in the Keep window until you remove them or until you turn off InterTest for CICS monitoring
for the program -- except for items added using the AUTOKEEP facility. AutoKeep items appear in high intensity
in the Keep window; permanent Keep items appear in low intensity.
Using AUTOKEEP
AUTOKEEP lets you to display items in the Keep window concerning the currently highlighted line, in addition to any data
items you requested displayed permanently.
AUTOKKEEP is active when the IN25OPTS parameter SLBAKEEP is set to Yes, which is the default. However, use the
Source Listing Profile Screen to turn AUTOKEEP off or on again at any time.
Change an AutoKeep Item into a Permanent Keep Item
To change an AutoKeep item into a permanent item, follow these steps:
1.Enter k to the left of the data item.
2.Press Enter . The item now appears in low intensity indicating that it is a permanent item.
Scroll Forward and Backward


Scroll Forward and Backward
Scroll forward and backward through the Keep window when there are more than six Keep Table entries. Up to six entries
appear in the Keep window at one time. If there are more than six entries, the heading line, MORE: + (plus) displays in the
Keep window indicating that there are more entries to view forward. The additional entries appear in the next window as
you scroll forward. The heading line, More: - (minus), indicates that there are more entries to view backward. Use  PF19  to
page forward to the next Keep window; use  PF20  to page backward.
Scroll Left and Right
Scroll each data item in the Keep window left or right by using the arrow (< >) line commands. To scroll a data item left,
type < in the first position of the line command area and press Enter. A < line command alone scrolls the data left the
width of the display area. To scroll a specific number of bytes specify a numeric offset value after the line command, such
as <5. This causes the data to scroll 5 bytes left or +5 bytes from the start of the data. To scroll back to the start of the
data enter >5 or > without an offset. Data item values with lengths that are less than the display area cannot be scrolled. A
data item value cannot be scrolled right, > unless it has been first scrolled left ( <).
Increase or Decrease COBOL Index Item Value
Increase or decrease COBOL index item values in the Keep window using the plus (+) or minus (-) line commands.
 999


InterTest™ and SymDump ® 11.0
•To increase an index item value, type + in the first position of the line command area and press Enter. By default the +
line command increases the value by one.
•To increase by a specific value specify a number after the line command.
Example: +5
The - line command decreases the value.
This functionality is applicable for COBOL indices defined by INDEXED BY phrase only.
Remove Items
To remove a data item from the Keep window, follow these steps:
1.Enter x to the left of the data item.
2.Press Enter .
When all data items are removed, the command line and the Keep window are replaced by the options and PF key
functions.
View and Change Main Storage Display from the Keep Window
When the Keep window is active, InterTest for CICS replaces the title lines for the InterTest for CICS options and PF key
functions with expanded source display area. This is the No Titles format. The No Titles format lets you to use InterTest for
CICS commands and the options and PF keys to perform InterTest for CICS functions.
•To see the options and PF key functions, enter PROFILE  in the command line and press Enter
•To exit the Profile, press Enter
For each item in the Keep window, InterTest for CICS displays the data name and its value in main storage in hexadecimal
or character format depending on the SDF profile setting. Use the PF2 key to toggle between hexadecimal and character
formats.
To request a main storage display, follow these steps:
1.Enter d in column 1 to the left of the item listed in the Keep window.
2.Press Enter  to process your request. InterTest for CICS displays the main storage for the data item and all items
below it in the same structure.


below it in the same structure.
To modify data values using a pre-formatted MOVE command, follow these steps:
1.Enter m in column 1 to the left of the item listed in the Keep window.
2.Press Enter to make the change. InterTest for CICS displays the MOVE command screen. For more information,
see Display or Modify Main Storage (CORE).
To change the values of the data items, follow these steps:
1.Overtype the bytes displayed in the Keep window in either hexadecimal or character format.
2.Press Enter to change the values that appear in the Keep window.
An effective debugging tool is to observe data values in the Keep window as you single-step through execution using
PF10 . You may also have InterTest for CICS automatically repeat single-stepping every few seconds. Use the Profile
display to set the PF10 value for automatic single-stepping.
Display or Modify Main Storage (CORE)
Display and modify easily the value of any data item or register in main storage directly from the source listing display
screen. All main storage functions are functions of the CORE facility, but you do not have to access the CORE menus to
use the functions described here.
 1000


InterTest™ and SymDump ® 11.0
NOTE
When you request main storage displays directly from your breakpoint screen, InterTest for CICS responds with
a structured display whenever the request is for a data item defined in a structure.
Main storage functions include the following benefits:
•Displaying the value of a data item
•Modifying the value of a data item with a formatted MOVE command
•Modifying a data item by overtyping the main storage display or Keep window display
•Displaying and modifying program registers
The first three functions are discussed in the sections that follow. For more information about displaying and modifying
program registers, see Source Listing Facility.
NOTE
Keep storage items displayed directly on your Source Listing Breakpoint screen by using the Keep window. For
more information, see The Keep Window.
Display the Value of a Data Item
Display data items from where they are defined (for example, from the Working-Storage, Local-Storage, or Linkage
sections), or from where the data items are referenced in the code.
To display the value of a data item from where it is defined, follow these steps:
1.Enter d to the left of the line defining it. For multiple data items, enter d next to the definition of each item that you want
to display.
2.Press Enter . InterTest for CICS responds with a main storage display.
If you requested more than one item for display, InterTest for CICS responds with a structured CORE storage display for
the first item selected. The message line on the screen prompts you to press Clear to view the next item, or press PF3
to cancel the remaining requests. After the last item is displayed, press Clear to return to the Source Listing Breakpoint
display.
To display the value of a data item from where it is used in the code, follow these steps:


1.Enter  d to the left of any line in the compiled listing that contains the item.
2.Move the cursor under any alphanumeric character in the data item.
3.Press Enter .
InterTest for CICS responds with a main storage display. The first field on the display screen is the value of the data item
you requested.
WARNING
If an Assembler variable is redefined in the code with a using statement other than the original DSECT in which
it was originally contained, then the display of the data item should be made from where it is defined, not from
where referenced.
Use the Cursor
Follow these rules when using the cursor to display main storage:
•Place the cursor under any character in a data name, Assembler register, or Assembler label.
•Do not place the cursor under a comma, parenthesis, COBOL verb, Assembler masks, Assembler data items in the
form A+B or A-B+n, or under any comment area.
To display complex data items, use one of the following methods:
 1001


InterTest™ and SymDump ® 11.0
•Display qualified data names as follows: For X of Y, place the cursor under X in any line of code.
•Display subscripted or indexed data names as follows:
For Y(s1, s2, s3):
–To get the value of Y at s1, s2, s3, place the cursor under Y
–To get the value of s1, place the cursor under s1
Example
To display the value of TASKNUM from the Automatic Breakpoint screen, overtype the A with d, move the cursor under
any letter in TASKNUM, and press Enter.
The following display of main storage for TASKNUM panel displays.
   CA InterTest for CICS  - MAIN STORAGE UTILITY
  Starting at Address =  2142A8                Hexadecimal            Character

 02 TASKNUM                         | 000000                     | ...
 02 TASK TEXT                       | 00000000 00000000 00000000 | ............
                                    | 00000000 00000000 00000000 | ............
                                    | 00000000 00000000          | ........

  _______________________________________________________________________________
PFKEYS 1 Help     2           3 End       4 Return    5            6 Menu
       7 Backward 8 Forward   9 Caps Off 10           11 Redisplay 12 Structure
 CORE='TASKNUM'
 CAIN0452 FIELD DOES NOT CONTAIN A VALID PACKED DECIMAL (COMP 3) VALUE
WARNING
If you enter d to the left of a statement and forget to place the cursor under the data item, you will see the object


code for the statement instead. Press Clear  or PF3 to return to the Source Listing Breakpoint.
Modify a Data Item by Overtyping the Main Storage Display
From any InterTest for CICS main storage display or Keep window, modify main storage by following these steps:
1.Overtype the desired bytes in the character or hexadecimal area.
2.Press Enter  to process the change.
Use this method to correct invalid data or data that was not initialized. Remember that these modifications are dynamic --
they are one-time fixes that do not prevent the same error from occurring again.
Example
In the previous screen, you could initialize TASKNUM by overtyping the final 0 in the hexadecimal field for TASKNUM with
C and pressing Enter.
Notes:
•Display and modify task-related and system-related areas of CICS main storage using the CORE facility menus or
commands.
•If you try to change a password-protected storage area not owned by your program, InterTest for CICS prompts you to
enter the password.
 1002


InterTest™ and SymDump ® 11.0
Modify the Value of a Data Item with a MOVE Command
COBOL and PL/I
InterTest for CICS provides a preformatted MOVE command that lets you easily modify the value of a COBOL or PL/I data
item. Request the MOVE command from the following places:
•Where the data item is defined in the source listing
•A Keep window
•Any place in the listing where the data item is referenced
To modify a data item from the statement where it is defined or from a Keep window, follow these steps:
1.Type m to the left of the statement. To modify more than one data item, type m next to each item in the order in which
they appear.
2.Press Enter. InterTest for CICS generates a fill-in-the-blank MOVE command for each data item selected.
To modify a data item from where it is referenced, follow these steps:
1.Enter m to the left of any statement in the listing containing the data item.
2.Place the cursor under the data item.
3.Press Enter. InterTest for CICS generates a fill-in-the-blank MOVE command for each data item selected.
NOTE
This function is not supported for Assembler users.
Example
Type m to the left of the fields TASKNUM and TASK-TEXT from their definitions in Working-storage and press Enter. The
formatted MOVE commands display.
To change the value of a data item, follow these steps:
1.Enter one of the following in the entry field:
–A data name
–ZEROS, SPACES, LOW-VALUES, HIGH-VALUES, QUOTES
–A numeric literal with or without a leading + or - sign
–An alphanumeric literal enclosed in single quotes


–An alphanumeric literal enclosed in single quotes
–ALL literal  to fill the data item with a specified literal string. For example: ALL ' - ' fills the field with dashes.
2.Press Enter to execute the MOVE command. InterTest for CICS responds with a main storage display showing the
result of the first MOVE. For multiple moves, the storage displays are shown one at a time; press Clear  to process the
next one.
NOTE
If you do not press Clear, the remaining MOVE commands will not execute.
3.From the CORE display, press Clear  or PF3 to return to the source listing breakpoint display.
NOTE
All modifications to main storage are dynamic. This means that the changes are one-time fixes   to current
values, and will not prevent the same error from occurring again. For a more permanent correction, specify a set
of indirect commands to be executed at a particular program location.
The Statement Trace Facility (COBOL programs only)
The Statement Trace Facility lets you view the logic flow of your program at the statement level. When used with data
monitoring, it also lets you to view data values from the time that the statement was executed.
 1003


InterTest™ and SymDump ® 11.0
NOTE
This feature is only valid for COBOL programs. Use the Backtrace facility for tracing information for other
languages.
Enable Statement Tracing and Data Monitoring
Use the TRACE command to enable the statement tracing facility. If a statement trace table was not created for the
transaction, it will be created prior to executing the next statement in the program. The number of entries in the table is
defined by the STMTTRCE option in IN25OPTS. Once statement tracing is activated, InterTest for CICS saves information
about each statement in the program, as it is executed. When all of the statement table entries are used, the table will
wrap around and the oldest entry is reused for the current statement.
Use the DATAMON command, or DM, to enable data monitoring for a program. Since the statement trace facility is
required for data monitoring, it will also be enabled if it is not already active. Once data monitoring is active, InterTest for
CICS captures the data values for each statement in the program, as it is executed.
Navigate the Statement Trace Table
Once statement information is saved in the trace table, use the PREV and ADVANCE commands to determine the
execution path of the program, by stepping backward and forward through the executed statements.
Use the PREV, or P, command to cause the display to back up one or more entries in the statement trace table. Consider
the following breakpoint:
    CA InterTest for CICS   - PROTSYM FILE SOURCE LISTING BREAKPOINT
COMMAND ===> prev
Program= COB2DEMO Option #       Stmt #                             Margin= 01
                                        Search=
-------------------------------------------------------------------------------
 _____ TASKNUM                         | 000000
---------+---------------------------------------------------------------------
 _ 000531 CONTINUE-TASK.


---------+---------------------------------------------------------------------
 _ 000531 CONTINUE-TASK.
   000532**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED
 A    ==>     ADD +1 TO TASKNUM.
      ==>
      ==> ASRA ABEND (0C7) detected and prevented. Caused by invalid decimal
      ==> arithmetic data format.
      ==>
      ==>      Press PF1 for a detailed description.
      ==>
 _ 000534     IF TASKNUM = 1
 _ 000535         MOVE 'DMAPASR'  TO MAPNAME.
 _ 000536     IF TASKNUM = 2
 _ 000537         MOVE 'DMAPSUM'  TO MAPNAME.
 _ 000538     IF TASKNUM GREATER 2
 _ 000539         GO TO SEND-END-MSG.
 _ 000540     GO TO REWRITE-TSQ.
The PREV command backs up to the previous entry in the table, resulting in the following display:
CA InterTest for CICS  - PROTSYM FILE SOURCE LISTING BREAKPOINT
COMMAND ===> prev
Program= COB2DEMO Option #       Stmt #                             Margin= 01
                                        Search=
-------------------------------------------------------------------------------
 _____ TASKNUM                         | 000000
 1004


InterTest™ and SymDump ® 11.0
---------+---------------------------------------------------------------------
000522          MOVE '   00209 '    TO DFHEIV0
_ 000523    CALL 'DFHEI1' USING DFHEIV0.
_ 000524    IF EIBAID = DFHENTER GO TO CONTINUE-TASK.
_ 000525    IF EIBAID = DFHCLEAR GO TO SEND-END-MSG.
_ 000526    IF EIBAID = DFHPF3 GO TO SEND-END-MSG.
_ 000527    IF EIBAID = DFHPF15 GO TO SEND-END-MSG.
_ 000528    IF EIBAID = DFHPF2 GO TO EXPANDED-DEMO.
_ 000529    IF EIBAID = DFHPF14 GO TO EXPANDED-DEMO.
_ 000530    GO TO SEND-FIRST-SCREEN.
_ 000531 CONTINUE-TASK.
   000532**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED
 A    ==>     ADD +1 TO TASKNUM.
 _ 000534     IF TASKNUM = 1
 _ 000535         MOVE 'DMAPASR'  TO MAPNAME.
 _ 000536     IF TASKNUM = 2
 _ 000537         MOVE 'DMAPSUM'  TO MAPNAME.
Statement number 524 was the last statement executed prior to the abend at statement number 533. To back up 10
entries in the table, specify PREV 10. After using the PREV command to back up one or more entries in the statement
trace table, use the ADVANCE, or A, command step forward through the table. Return at any time to the current statement


using the CS command or the clear key.
View Past Data Values
While navigating the trace table, display the data values that were captured as each statement was executed, if data
monitoring is active. If the AUTOKEEP display is ON, the past data values associated with an executed statement
automatically appear in the Keep window when the statement is displayed. In addition, use the DISPLAY, KEEP, and
CORE commands to display past data values for any data item or COBOL language area (for example, TGT). However,
these values are protected and, therefore, cannot be updated while viewing past data values.
In general, past data values are not captured for database areas or CICS task areas. However, a few of these areas, such
as DFHEIBLK or SQLCA, are defined within the COBOL program and, therefore, reside in COBOL storage. For these
areas, display past data values by specifying the data name defined in the COBOL program. If the CORE keyword is used
(for example, CORE=EIB), current data values are displayed.
Usage Notes
Data monitoring is very CPU intensive and requires a significant amount of storage over and above the storage required
by the programs being monitored. Compute the storage requirements as follows:
500 bytes * number of transaction entries as defined by the STMTTRCE
option + size of mirror area for each program in the transaction for which data monitoring is active, where the mirror area
is equal to the size of storage for the monitored program.
If you should encounter storage problems while using the data monitoring feature, perform one or more of the following
actions:
•Reduce the use of data monitoring in the region
•Make the STMTTRCE value smaller in the default options table, IN25OPTS
•Increase the EDSALIM for the CICS region
 1005


InterTest™ and SymDump ® 11.0
Display or Modify Auxiliary Storage (FILE)
Use the InterTest for CICS FILE facility even when no program is executing to display and modify auxiliary storage.
Access this facility from the ITST Primary Option Menu, Option 4 Auxiliary Storage . The Auxiliary Storage Menu
appears.
From this menu you can examine or modify files, DB2 and SQL/DS databases, DL/I databases, and CICS temporary
storage and transient data records.
NOTE
If you type FILE on the command line of a breakpoint display, you bypass this menu and go to the initial file
facility display. To access the Auxiliary Storage menu from a Breakpoint, type ITST  on the command line; then
select option 4 from the Primary Option Menu.
FILE at a Breakpoint
Use FILE at a breakpoint to add test records. For example, you can have 12 records in a test file, one for each of 12 test
conditions. However, when you get to a breakpoint you realize there is another test condition. To test the condition in the
current test run and have a complete test file for future runs, go to FILE, add another test record, return to the breakpoint,
and continue program execution so the program reads the new record.
If you are using FILE, you do not have to enter a record from scratch. Retrieve a current record, modify it, and then add it
as a new record to the file.
FILE Changes Do Not Affect Main Storage at a Breakpoint
FILE changes do not automatically affect main storage.
Example
If you are stopped at a breakpoint and you use FILE to change the record that your program is processing, the change
you made using FILE is not automatically reflected in your program's main storage because your program has already
read the record.


read the record.
To make the change in main storage, return to the breakpoint screen, and do one of the following actions:
•Instruct the program to read the record again
•Repeat the changes to main storage that you made to the record or database
NOTE
If multiple fields need to changing, select multiple items for display or modification from the Working-storage or
Local-Storage section of a COBOL program.
To return to the breakpoint display after using FILE, press PF3 or Clear . (If you also accessed the InterTest for CICS
CNTL, CORE, or Help facilities, you might need to press Clear  more than once.)
Changes to data using FILE are permanent updates  to the records or database. It is as if you wrote a batch program to
perform the updates.
The Breakpoint Primary Option Menu
To access the Breakpoint Primary Option Menu from any Breakpoint, enter MENU  on the command line or press PF6
Menu . Use this menu to access the following options:
Main menu
Display the InterTest primary option menu
Status
Display/remove current monitoring options
 1006


InterTest™ and SymDump ® 11.0
Abend
Abend the breakpointed task
Resume
Resume breakpointed task menu options
Override
Override automatic breakpoint default processing
Dump
Cause dump, resume from next sequential instruction
Disconnect
Disconnect the breakpoint from this terminal
Hogan SMART
Invoke Hogan System's debugging facility
Exit
Terminate breakpoint menu processing
Press PF3 End to exit this menu and return to your breakpoint display.
The CALLTRACE Facility
The CALLTRACE facility enables you to view the logic flow of a group of programs. Once the CALLTRACE mode is active
view the storage for each program in the same way it is viewed from a breakpoint. Use the CALLTRACE command only if
your programs adhere to standard linkage conventions as follows:
•COBOL dynamic or static calls to other COBOL programs
•EXEC CICS LINKED or XCTLed to PROGRAMs
•Standard MVS save area linkage
In the following example the CALLTRACE was issued while program C370SUB2 was stopped at a breakpoint. The
CALLTRACE screen shows how program C370SUB2 received control.
                 CA InterTest for CICS Program Call Trace
COMMAND ===>

  Type:  S to select program source
         C display channel/containers
  ------- Program Call Sequence --------
  Program   Csect     Return  Language    Call Type
_ C37LINK   C37LINK   000674  IBM COBOL   Linked to
_ C37READF  C37READF  0004DA  IBM COBOL   Dyn call
_ C370SUB1  C370SUB1  0005DC  IBM COBOL   Dyn call
_ C370SUB2  C370SUB2  0003E4  IBM COBOL   Curr PGM
  *** End of data ***


*** End of data ***

PF1 Help       2            3 End        4 Return     5            6
PF7 Backward   8 Forward    9           10           11           12
Select any program in the list having symbolic data by typing an S to the left of the program name. The source listing
display facility runs in a special mode and positions the listing at the point where it transferred control.
 1007


InterTest™ and SymDump ® 11.0
Once the source listing display is in calltrace mode, display program variables the same way as they are for the currently
breakpointed program.
The CHANNEL Command
The CHANNEL command enables you to list each of the active channels and view each of the containers within each
channel.
To display the channels and containers, use one of these two commands:
•Enter the CHANNEL command on the command line from any breakpoint
•Enter a c line command next to any program in the CALLTRACE display
                 CA InterTest for CICS  CHANNEL/CONTAINER STORAGE
COMMAND ===>

  Type S to display main storage.                                     More:

  Channel          Container     Curr CPGID Length    Character Data
_ LNK0CHAN-01      LNK0CONT-00      x 00037 0008106 * 2 LNK0CH02 CONTAI..... *
_                    +000FD8                        * ********************** *
_                    +001FB0                        * ********************** *
_                    +002F88                        * ********************** *
_                    +003F60                        * ********************** *
_                    +004F38                        * ********************** *
_                    +005F10                        * ********************** *
_                    +006EE8                        * ********************** *
_                    +007EC0                        * ********************** *
_ LNK0CHAN-01      LNK0CONT-01      x 00037 0008106 * 1 LNK0CH01 CONTAI..... *
_                    +000FD8                        * ********************** *
_                    +001FB0                        * ********************** *
_                    +002F88                        * ********************** *
_                    +003F60                        * ********************** *
_                    +004F38                        * ********************** *


_                    +004F38                        * ********************** *

PF1 Help       2            3 End        4 Return     5            6
PF7 Backward   8 Forward    9           10           11           12
Each entry in the display represents a container, or in the case of larger containers, a segment of a container. The display
shows the following information:
Channel
The name of the channel in which the container has been stored
Container
The name of the container, or the segment offset withing the container
Curr
An X indicates that this container was passed to the current program
CPGID
The code page identifier for this container in EBCDIC format
Length
The full length of the container
Character Data
An EBCDIC display of the first twenty-two bytes of each container or segment
 1008


InterTest™ and SymDump ® 11.0
To view the storage within a container or segment, place an s on the line next to that container or segment and press
Enter .
The Storage Facility
While stopped in the source listing facility for the currently breakpointed program enter the STORAGE command on the
command line. The following example is a sample Storage facility screen.
                     CA InterTest for CICS     USER STORAGE
 COMMAND ===>

   Type S to display main storage.

      Usage:  User24:     3.12KB      CICS24:     0.00KB
              User31:   259.54KB      CICS31:     0.00KB

   Type  Address  (length)  Storage at that location
 _ SU24  00200470 (0000810) 00000043 000004B0 0003D61B 0004B100 ..........O.....
 _ SU24  00200000 (0000470) 00B46EC4 C6C8C5C9 E4E24040 40404040 ..>DFHEIUS
 _ SU31  1DC3FE30 (0001000) C8C1D5C3 1DC36FF8 1DC3CCC8 00000000 HANC.C?8.C.H....
 _ SU31  1DC3EE30 (0001000) E2E3D2E4 1DC392DC 1DC39700 00000FF0 STKU.Ck..Cp....0
 _ SU31  1DC3CCC0 (0002170) C8C1D5C3 1DC3FE38 1DC36FF8 00000000 HANC.C...C?8....


_ SU31  1DC34B20 (00081A0) 00000000 00000000 00000000 00000000 ................
 _ SU31  1DC0BA20 (0029100) C8C1D5C3 1DC05CC8 1DC05CC8 00000000 HANC.{*H.{*H....
 _ SU31  1DC037F0 (0008230) 1DC037C8 1DC061A8 1D3D3BCB 1DD44602 .{.H.{/y.....M..
 _ SU31  1DC00040 (00037B0) 1DC02CE0 00000000 1DC00058 00000000 .{.\.....{......
 _ SU31  1DC00000 (0000040) 4C4CD9E4 E6D76E6E 00000000 00008190 <<RUWP>>......a.
   *** End of data ***

 PF1 Help       2            3 End        4 Return     5            6
 PF7 Backward   8 Forward    9           10           11           12
Select any piece of storage from the list resulting in a core dump of the selected area.
At the time the screen is built each piece is inspected to see if there is valid leading and trailing crumple zone. If not, a
message is produced indicating there is a corrupted storage area, the list shows an * next to the corrupted areas.
The Backtrace Facility
The Backtrace facility lets you view the logic flow of your program. It is designed to answer the question, "How did I get to
this point?"
The Backtrace facility enables you to do the following tasks:


this point?"
The Backtrace facility enables you to do the following tasks:
•View the Backtrace Summary for a summary of the program's execution path
•View the Source Listing Backtrace for a statement-by-statement look at the program's execution path
•Use special PF keys to trace the program's execution path
•Reposition the source listing to view the program's execution path from different backtrace positions
In addition to the Backtrace PF keys, all other source listing options (such as the Keep window), setting and removing
breakpoints, and the ability to scroll backward and forward from the current position are available in the Backtrace facility.
 1009


InterTest™ and SymDump ® 11.0
Access the Backtrace Facility
To access the Backtrace facility from the source listing facility and to view the Backtrace Summary, enter BTRACE  on the
command line and press  Enter, or press PF11 from the Source Listing Breakpoint screen. InterTest for CICS positions the
Backtrace Summary at the last executed statement , which is the current breakpoint location. To view your program's
backtrace statement-by-statement, press PF2 from the Backtrace Summary to access the Source Listing Backtrace.
NOTE
While you are using the Backtrace facility, the execution PF keys are disabled and replaced with special forward
and backward tracing PF keys.
From the Backtrace Summary, perform the following actions:
•Access the Source Listing Backtrace to view statement-by-statement details of the program's execution path by:
–Pressing PF2
–Marking a statement block with S to indicate a starting position, and then pressing Enter
•Assign a bookmark, consisting of one to four characters, to one or more backtrace positions for faster and easier
navigation through the Backtrace Summary
The following screen shows the Backtrace Summary.
       CA InterTest for CICS  - BACKTRACE SUMMARY
Program= COBDEMO                                      From 0001 To 0011 Of 0011

Specify S then ENTER to display Source Listing BACKTRACE
--------------------------------------------------------------------------------
PFKS 1 Help      2 Backtrace 3 End        4            5 1st Stmt   6 Last Stmt
     7 Backward  8 Forward   9 Next Wnd  10           11 Prev Bloc 12 Next Bloc
--------------------------------------------------------------------------------
 S Bkmk       Stmt Block  | Source Listing
 _ ____    #790.0...#791.0|  PROCEDURE DIVISION USING DFHEIBLK DFHCOMMAREA.


_ ____    #791.0...#801.0|      CALL 'DFHEI1'.
 _ ____    #801.0...#802.0|      CALL 'DFHEI1' USING DFHEIV0
 _ ____    #804.0...#804.0|      IF EIBAID = DFHCLEAR
 s ____    #812.0...#813.0|       MOVE '  Y    i 00557   ' TO DFHEIV0
 _ ____    #813.0...#818.0|      CALL 'DFHEI1' USING DFHEIV0  TSQNAME TASKSTR
 _ ____    #822.0...#823.0|      IF EIBCALEN = 0
 _ ____    #878.0...#881.0|       MOVE '  }            00598   ' TO DFHEIV0
 _ ____    #881.0...#887.0|      CALL 'DFHEI1' USING DFHEIV0  DFHC0070 DFHEICB
 _ ____    #887.0...#888.1|      CALL 'DFHEI1' USING DFHEIV0.
 * ____    #897.0... Bkpt |      ADD +1 TO TASKNUM.

  CAIN2988 First and Last Backtrace Stmt Block
From field
Indicates the relative backtrace statement blocks displayed on the screen. There are a maximum of 580 backtrace
statement blocks that record a program's execution path. The oldest statement blocks are re-used as needed.
To reposition the Source Backtrace Summary, overtype the information in the From field with a relative statement
block number or with a one- to four-byte user-specified tag or bookmark.
Select (S) column


Select (S) column
Positions a display of the Source Listing Backtrace at a selected backtrace statement. Enter S next to any entry
and press Enter. The Source Listing Backtrace displays from the specified backtrace position. Only one S  is
allowed.
Note: An * in the Select column indicates the current backtrace position.
 1010


InterTest™ and SymDump ® 11.0
Bookmark (Bkmk)
column
Assigns a unique tag or ID to one or more backtrace positions.
Specify multiple bookmarks.
Each bookmark must contain at least one non-numeric character. For example, P103, UB7, T1, A, and so on.
Each bookmark must be unique.
Once a bookmark is assigned to a specific backtrace position , it remains attached to that backtrace position
until the bookmark is replaced or removed by subsequent program execution.
•There are 580 backtrace positions, and the oldest entries are replaced.
•If a backtrace position is not replaced between breakpoints, use the bookmark to reposition your Backtrace
Summary by specifying the   bookmark name in the From field of the Backtrace Summary screen.
Statement (Stmt) Block column
Identifies a block of contiguously executed statement numbers.
Each line entry is a pair of program locations identifying the first and last statement numbers or offsets for a piece
of sequentially executed code.
For COBOL programs, the decimal value of the statement number indicates a specific verb in a statement. The
first verb is 0, the second is 1, and so on.
The top left entry was executed first, and the bottom right entry was executed most recently.
After each statement number or offset in the right column there was a break in sequential execution, such as a
CALL to CICS or a branch to another location in the program. Each break results in a new line entry.
Plus signs indicate offsets; for example, +204.
Source Listing Summary column
Displays the source code associated with the first statement executed in the statement block, which is identified
by the statement number in the left column. The left margin default is 01 for COBOL and PL/I programs, and 34
for Assembler programs.


for Assembler programs.
Note:  For display purposes, the starting column is either the left margin default or the Margin= value that was
specified on the Source Listing Breakpoint screen, whichever is greater.
Message Line
Displays any messages about the section of backtrace that you are currently viewing.
The Backtrace Summary
The Backtrace Summary summarizes the program's execution path using statement blocks. The statement block column
is located on the left side of the screen and contains two columns of numbers:
•Statement numbers in the left column receive control from a branch, a command level CALL, a PERFORM, or a
GOTO
•Statement numbers in the right column issue  the branch to the next statement identified
By tracing the execution path, block-by-block, follow the flow of your program's logic.
Example
To use the information in the statement block columns, first look at the last entry, as in the previous screen:
#897.0... Bkpt
This block answers the question: How did I get to the current breakpoint? In this case, the program entered statement 897
and executed all of the machine instructions up to the current breakpoint.
The next question you might ask is: How did statement 897 receive control? To answer this question, you must look at the
preceding statement block:
#887.0...#888.1
 1011


InterTest™ and SymDump ® 11.0
The statement number in the right column, 881.1, is the statement that caused a branch to statement 897.
NOTE
You might see a statement branch to itself, as in the following example from the previous figure:
    #812.0...#813.0 ←
  → #813.0...#818.0
This happens when a CICS command is issued and execution was returned to the same statement.
Backtrace Summary Screen PF Key Assignments
The first Backtrace Summary screen always displays the most recently executed backtrace entries at the bottom of the
backtrace table. Use the From field  or the following PF keys to navigate through the Source Backtrace Summary.
PF1 Help
Displays online Help for the current screen.
PF2 Backtrace
Redisplays the Source Listing Backtrace screen from the current backtrace position. The current backtrace
position is indicated by an asterisk (*).
PF3 End
Displays the Source Listing Breakpoint screen at the last breakpoint.
PF5 1st Stmt
Repositions the Backtrace Summary to the first (oldest) entry in the Backtrace.
PF6 Last Stmt
Repositions the Backtrace Summary to the last (newest) entry in the Backtrace.
PF7 Backward
Scrolls the Backtrace Summary backward (up) a full screen.
PF8 Forward
Scrolls the Backtrace Summary forward (down) a full screen.
PF11 Prev Bloc
Displays the previous statement block.
PF12 Next Bloc
Displays the next statement block.
NOTE
A column of backtrace statement blocks is available on the Detailed Breakpoint screen. For more information,
see the Detailed Breakpoint Screen.
The Source Listing Backtrace


see the Detailed Breakpoint Screen.
The Source Listing Backtrace
To switch to the Source Listing Backtrace and to view the backtrace statement by statement, press PF2 or type S next to a
statement block in the Select column of the Backtrace Summary to select a starting position and press Enter , as shown in
the previous screen.
The following screen shows the Source Listing Backtrace.
CA InterTest for CICS  - PROTDEM FILE SOURCE LISTING BACKTRACE
COMMAND ===>
Program= COBDEMO  Option #       Stmt #                             Margin= 01
                                        Search=
OPTS 1 Proc div  2 Work-stor 3 Link sect 4 D-map      5 Clst/Pmap More:   +
     6 Data xref 7 Proc xref 8 Err msgs  9 Srch fwd  10 Srch bwd
 1012


InterTest™ and SymDump ® 11.0
PFKS 1 Help      2 Summary   3 End       4 Profile    5 1st Stmt   6 Last Stmt
     7 Backward  8 Forward   9 Prev Stmt 10 Next Stmt 11 Prev Bloc 12 Next Bloc
========> Backtrace at #00812  (00812 > 00813 executed     1 times) <=========
   00810*          ITEM(TSQITEM)
   00811*          ENDEXEC.
 _ ====>      MOVE '  Y    i 00557   ' TO DFHEIV0
 _ 00813     CALL 'DFHEI1' USING DFHEIV0  TSQNAME TASKSTRUCTURE TSQLEN
   00814     DFHDUMMY TSQITEM.
   00815
   00816
   00817
 _ 00818     IF EIBAID = DFHPF2
 _ 00819      OR EIBAID = DFHPF14
 _ 00820      OR TASKSWITCH = DFHPF2
 _ 00821         GO TO EXPANDEDDEMO.
 _ 00822     IF EIBCALEN = 0
 _ 00823         GO TO SENDFIRSTSCREEN.
 _ 00824     GO TO CONTINUETASK.
Read the Source Listing Backtrace
To clearly specify the program‘s execution path statement-by-statement, source statements executed from the current
backtrace position  are highlighted. However, when you specify a non-backtrace Source Listing option or use PF7 or
PF8 to reposition the Source Listing Backtrace, the highlighting of executed statements is temporarily suspended until a
backtrace PF key is entered.


backtrace PF key is entered.
When in Source Listing Backtrace mode, the current backtrace position  always appears on the line just above the first
source statement. This line displays as follows:
======>BACKTRACE AT #nnnnn (nnnnn -> nnnnn executed  nnnnn  times)<=====
The information on the previous line indicates:
•#nnnnn: The program statement or offset number where the backtrace is currently positioned
•nnnnn -> nnnnn: The first and last statement numbers of the statement block
•nnnnn times: How many times a statement block was executed
On the Source Listing Backtrace, each relevant backtrace position is indicated in the listing by an arrow or a line:
•====> indicates the first statement in a statement block
•<==== indicates the last statement in a statement block
•===== indicates all other statements within a statement block
Source Listing Backtrace PF Keys
Trace your program's execution path on the Source Listing Backtrace display using the following PF keys:
PF1 Help
Initiates the InterTest for CICS online help facility.
PF2 Summary
Displays the Backtrace Summary.
PF3 End
Terminates the backtrace session and redisplays the Source Listing Breakpoint screen at the last breakpoint.
 1013


InterTest™ and SymDump ® 11.0
PF4 Profile
Accesses the Source Listing Profile, where you set source listing features and PF9 and PF10 stepping amount
settings.
PF5 1st Stmt
Repositions screen to the first (oldest) entry in the backtrace.
PF6 Last Stmt
Repositions screen to the last (newest) entry in the backtrace.
*
PF7 Backward
Scrolls screen backward (up) a full screen.
*
PF8 Forward
Scrolls screen forward (down) a full screen.
PF9 Prev Stmt
Repositions the Source Listing Backtrace to the previously executed statement.
PF10 Next Stmt
Repositions the Source Backtrace to the next statement.
PF10 Next
nnn
Automatically traces forward the number of statements set in the Stepping Amount= field on the Source Listing
Profile (PF4). Stepping Amount value is nnn.
PF11 Prev Bloc
Displays the previous statement block.
PF12 Next Bloc
Displays the next statement block.
*PF keys 7 and 8 temporarily suspend backtrace highlighting until PF5, 6, 9, 10, 11, or 12 are specified.
Navigate Through Program Execution
Trace your program's execution path by performing the following actions:
•Using PF5, PF9, and PF11 to go backward
•Using PF6, PF10, and PF12 to go forward
•Setting the Source Listing Profile Stepping Amount   and Wait Amount, and then using PF9 and PF10 to
automatically trace the execution backward or forward
When you first access the Source Listing Backtrace by pressing PF2 on the Backtrace Summary screen, the following
screen appears. Access this screen also from any other section of backtrace by pressing PF6, which positions the


backtrace at the last statement executed (the current breakpoint).
    CA InterTest for CICS  - PROTDEM FILE SOURCE LISTING BACKTRACE
COMMAND ===>
Program= COBDEMO  Option #       Stmt #                             Margin= 01
                                        Search=
OPTS 1 Proc div  2 Work-stor 3 Link sect 4 D-map      5 Clst/Pmap More:   +
     6 Data xref 7 Proc xref 8 Err msgs  9 Srch fwd  10 Srch bwd
PFKS 1 Help      2 Summary   3 End        4 Profile    5 1st Stmt   6 Last Stmt
     7 Backward  8 Forward   9 Prev Stmt 10 Next Stmt 11 Prev Bloc 12 Next Bloc
========> Backtrace at #00897  (00897 > curr. executed     1 times) <=========
 _ 00895 CONTINUETASK.
 1014


InterTest™ and SymDump ® 11.0
   00896**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED
 A   ==>     ADD +1 TO TASKNUM.
 _ 00898     IF TASKNUM = 1
 _ 00899         MOVE 'DMAPASR'  TO MAPNAME.
 _ 00900     IF TASKNUM = 2
 _ 00901         MOVE 'DMAPSUM'  TO MAPNAME.
 _ 00902     IF TASKNUM GREATER 2
 _ 00903         GO TO SENDENDMSG.
 _ 00904     GO TO REWRITETSQ.
 _ 00905 REWRITETSQ.
   00906*EXEC CICS WRITEQ TS
   00907*          REWRITE
   00908*          QUEUE(TSQNAME)
   00909*          FROM(TASKSTRUCTURE)
To reposition the source listing to the first statement of the current statement block or to the beginning of the previously
executed statement block, press PF11 Prev Bloc.
Example
If PF11 was pressed from the Source Listing Backtrace screen shown previously, the following screen appears.
CA InterTest for CICS  - PROTDEM FILE SOURCE LISTING BACKTRACE
COMMAND ===>
Program= COBDEMO  Option #       Stmt #                             Margin= 01
                                        Search=
OPTS 1 Proc div  2 Work-stor 3 Link sect 4 D-map      5 Clst/Pmap More:   +
     6 Data xref 7 Proc xref 8 Err msgs  9 Srch fwd  10 Srch bwd


PFKS 1 Help      2 Summary   3 End        4 Profile    5 1st Stmt   6 Last Stmt
     7 Backward  8 Forward   9 Prev Stmt 10 Next Stmt 11 Prev Bloc 12 Next Bloc
========> Backtrace at #00897  (00897 > curr. executed     1 times) <=========
     00885*          ENDEXEC.
   _ 00886      MOVE ' 00604   ' TO DFHEIV0
   _ ====>      CALL 'DFHEI1' USING DFHEIV0.
   _ 00888     IF EIBAID = DFHENTER GO TO CONTINUETASK.
   _ 00889     IF EIBAID = DFHCLEAR GO TO SENDENDMSG.
   _ 00890     IF EIBAID = DFHPF3   GO TO SENDENDMSG.
   _ 00891     IF EIBAID = DFHPF15  GO TO SENDENDMSG.
   _ 00892     IF EIBAID = DFHPF2   GO TO EXPANDEDDEMO.
   _ 00893     IF EIBAID = DFHPF14  GO TO EXPANDEDDEMO.
   _ 00894     GO TO SENDFIRSTSCREEN.
   _ 00895 CONTINUETASK.
     00896**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED
  A   ==>     ADD +1 TO TASKNUM.
   _ 00898     IF TASKNUM = 1
   _ 00899         MOVE 'DMAPASR'  TO MAPNAME.


_ 00899         MOVE 'DMAPASR'  TO MAPNAME.
To reposition the source listing to the beginning of the next backtrace statement block, press PF12  Next Bloc.
Example
If you pressed PF12  from the Source Listing Backtrace shown previously, the following screen appears.
CA InterTest for CICS - PROTDEM FILE SOURCE LISTING BACKTRACE
COMMAND ===>
 1015


InterTest™ and SymDump ® 11.0
Program= COBDEMO  Option #       Stmt #                             Margin= 01
                                        Search=
OPTS 1 Proc div  2 Work-stor 3 Link sect 4 D-map      5 Clst/Pmap More:   +
     6 Data xref 7 Proc xref 8 Err msgs  9 Srch fwd  10 Srch bwd
PFKS 1 Help      2 Summary   3 End        4 Profile    5 1st Stmt   6 Last Stmt
     7 Backward  8 Forward   9 Prev Stmt 10 Next Stmt 11 Prev Bloc 12 Next Bloc
========> Backtrace at #00897  (00897 > curr. executed     1 times) <=========
     00885*          ENDEXEC.
   _ 00886      MOVE ' 00604   ' TO DFHEIV0
   _ ====>      CALL 'DFHEI1' USING DFHEIV0.
   _ 00888     IF EIBAID = DFHENTER GO TO CONTINUETASK.
   _ 00889     IF EIBAID = DFHCLEAR GO TO SENDENDMSG.
   _ 00890     IF EIBAID = DFHPF3   GO TO SENDENDMSG.
   _ 00891     IF EIBAID = DFHPF15  GO TO SENDENDMSG.
   _ 00892     IF EIBAID = DFHPF2   GO TO EXPANDEDDEMO.
   _ 00893     IF EIBAID = DFHPF14  GO TO EXPANDEDDEMO.
   _ 00894     GO TO SENDFIRSTSCREEN.


_ 00894     GO TO SENDFIRSTSCREEN.
   _ 00895 CONTINUETASK.
     00896**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED
  A   ==>     ADD +1 TO TASKNUM.
   _ 00898     IF TASKNUM = 1
   _ 00899         MOVE 'DMAPASR'  TO MAPNAME.
Ending a Source Listing Backtrace Session
To toggle between the Source Listing Backtrace and the Backtrace Summary, press PF2.
To turn off the backtrace display mode, press Clear or PF3 . InterTest for CICS redisplays the Source Listing Breakpoint
screen positioned at the last breakpoint.
Additional Breakpoint Displays
The Breakpoint Information screen and the Detailed Breakpoint screen provide you with more information than the Source
Listing Breakpoint screen. However, you cannot test from the Breakpoint Information screen, and the Detailed Breakpoint
screen requires you to specify most functions by completing another menu or entering single-line commands.
Look at the Breakpoint Information screen from any Source Listing Breakpoint screen:
•When you are at a Source Listing Breakpoint, press PF3  DET BKPT to look at the Breakpoint Information screen.
•To return to the Source Listing Breakpoint screen, press PF4 Source.
NOTE
If the Source List BKPT= ON, InterTest for CICS displays the Source Listing Breakpoint version. If the Source
List BKPT= OFF, InterTest for CICS displays the Detailed Breakpoint version.
The following screen shows the Breakpoint Information screen when Source List BKPT=ON. The format does not include
lines of the program listing.
Program COBDEMO stopped by CA InterTest in statement 882.0 (Offset +01A8E)


CAIN3628 Automatic breakpoint; ASRA abend (0C7) detected and prevented.
     Caused by invalid decimal arithmetic data format.
                                                                  Backtrace
Tran= DEMC from term L6D1 monitored as PROG=COBDEMO             #776.0   #786.0
DFHCOMMAREA does not exist.                                     #786.0   #787.0
                                                                #789.0   #789.0
                                                                #797.0   #798.0
 1016


InterTest™ and SymDump ® 11.0
                                                                #786.0   #787.0
                                                                #814.0   #815.0
                                                                #815.0   #816.0
Depress PF3 for Source Listing Display.                         #821.0   #823.0
                                                                #823.0   #833.0
                                                                #833.0   #838.0
                                                                #838.0   #839.0
                                                                #841.0   #851.0
The two fields shown are at address 01C2A4 and 2B817C:          #851.0   #866.0
000000                               *...             *         #866.0   #872.0
1C                                   *.               *         #872.0   #873.1
                                                                #882.0 to here.
==> CNTL=GO,TASK=00290,A                                             Margin:
 Overtype the above or use a PF key or press ENTER to abend without a dump.
 1 Help       2            3 Source      4           5 Resume      6 Menu
 7            8            9 1 instruc  10 1 verb   11 Backtrace  12 Status
NOTE
The information displayed on the Breakpoint Information screen is also available on the Detailed Breakpoint
screen, which is discussed in the Detailed Breakpoint screen.
All fields except the command line are protected.
•Program COBDEMO ...
Identifies the statement or offset location where the breakpoint occurred in your program. For COBOL programs, the
decimal value of the statement number indicates which verb halted execution. The first verb is 0, the second verb is 1,
and so on.
•TRAN=


and so on.
•TRAN=
•Identifies the transaction and terminal ID where the program is executing, and how monitoring was requested, such as
for a program, transaction, or terminal.
•Backtrace
Shows the backtrace as described in the section Tracing Program Execution. Additional backtrace entries are
accessed using PF11. To return, press Clear .
•The two fields ...
Indicates, in hexadecimal and character format, the address and contents of main storage relevant to the breakpoint.
•CNTL=GO
Displays the command line with a CNTL default command. Override this command with any other InterTest for CICS
command or transaction ID, such as HELP or CORE. It is followed by a line that indicates any errors or messages.
Enter also a fast-path command to jump to a menu, such as =1.2.1 to go to the Program Monitoring menu.
•Overtype ...
Lists the PF keys that are available from the Breakpoint Information screen. For more information, see the Detailed
Breakpoint PF Keys.
The Detailed Breakpoint Screen
The Detailed Breakpoint display is designed for experienced InterTest for CICS users with knowledge of InterTest for CICS
commands and CICS. It contains more diagnostic information than the Source Listing Breakpoint display. It is displayed
when the Source Listing Profile setting Source List BKPT=OFF.
From the Detailed Breakpoint display access the Breakpoint Primary Option Menu, but you cannot use the one-character
commands that are available on the Source Listing Breakpoint display, such as m to modify or d to display. Instead,
access the Main Storage Menus (fast-path entry is =1.3) or enter a one-line command in the command field on the bottom
of the screen.
A Detailed Breakpoint screen appears when Source List BKPT=OFF. A sample screen follows.
 1017


InterTest™ and SymDump ® 11.0
Program COBDEMO stopped by CA InterTest in statement 882.0 (Offset +01A8E)
  CAIN3628 Automatic breakpoint; ASRA abend (0C7) detected and prevented.
       Caused by invalid decimal arithmetic data format.
                                                                 Backtrace
Tran= DEMC from term L6D1 monitored as PROG=COBDEMO            #776.0  #786.0
DFHCOMMAREA does not exist.                                    #786.0  #787.0
                                                               #789.0  #789.0
  00879     GO TO SEND FIRST SCREEN.                           #797.0  #798.0
  00880 CONTINUE TASK.                                         #786.0  #787.0
  00881**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED           #814.0  #815.0
  00882     ADD +1 TO TASKNUM.                                 #815.0  #816.0
  00883     IF TASKNUM = 1                                     #821.0  #823.0
  00884         MOVE 'DMAPASR'  TO MAPNAME.                    #823.0  #833.0
  00885     IF TASKNUM = 2                                     #833.0  #838.0
  00886         MOVE 'DMAPSUM'  TO MAPNAME.                    #838.0  #839.0
                                                               #841.0  #851.0
  The two fields shown are at address 033DA4 and 2AE17C:       #851.0  #866.0
  000000                               *...             *      #866.0  #872.0


000000                               *...             *      #866.0  #872.0
  1C                                   *.               *      #872.0  #873.1
                                                               #882.0 to here.

 ==> CNTL=GO,TASK=00378,A                                             Margin:
 Overtype the above or use a PF key or press ENTER to abend without a dump.
 1 Help       2            3 Source      4           5 Resume      6 Menu
 7            8            9 1 instruc  10 1 verb   11 Backtrace  12 Status
NOTE
All fields except the command line are protected.
Program COBDATA ...
Identifies the statement or offset location where the breakpoint occurred in your program. For COBOL programs,
the decimal value of the statement number indicates which verb halted execution. The first verb is 0, the second
verb is 1, and so on.
CAIN3628 ...
Indicates what kind of breakpoint occurred. For a review of what each letter means, see the Examine the Source
Listing Breakpoint screen. If an automatic breakpoint occurred, the reason for it follows.
TRAN= ...
Identifies the name of the transaction and terminal ID where the program is executing and how monitoring was
requested (such as for a program, transaction, or a terminal).
Blank area in front of Backtrace column
For PL/I and Assembler programs, this area displays the machine instruction that triggered the breakpoint, the
machine instruction that last executed, and its offset or absolute address. (This is not shown in this screen.)
Backtrace
Shows the backtrace, which is described in the section Tracing Program Execution. Additional backtrace entries
are accessed using PF11.
DFHCOMMAREA ...
Indicates the COMMAREA status and size.


DFHCOMMAREA ...
Indicates the COMMAREA status and size.
00883 ...
Displays source listing code, only if you:
 1018


InterTest™ and SymDump ® 11.0
•Saved the listing in the InterTest for CICS symbolic file
•Choose Source List BKPT=OFF on your Source Listing Profile screen. Without this option specified, InterTest
for CICS does not display this screen at all. The Breakpoint Information screen displays instead.
These two fields ...
Indicates, in hexadecimal and character format, the address and contents of main storage relevant to the
breakpoint.
CNTL=GO...
Displays the command line with a default CNTL command. Override this command with an InterTest for CICS
command or transaction ID. It is followed by a line that indicates any errors or messages.
Overtype ...
Lists the PF keys that are available from the Detailed Breakpoint Display screen.
Read the Backtrace on the Detailed Breakpoint Screen
Use the Source Listing Facility Backtrace feature to examine the path your program took during execution, and to help
solve logic problems. On the Detailed Breakpoint screen, only one column at-a-time of backtrace entries is available.
To access additional backtrace entries, press PF11 or switch to the Source Listing Breakpoint display mode for a more
detailed backtrace listing.
The backtrace shows the path of the most recently executed code.
•The top left entry was executed first, and the bottom right entry was executed last.
•Each line entry is a pair of program locations identifying the first and last statement numbers or offsets for a piece of
sequentially executed code.
•The decimal value after statement numbers for COBOL code indicates which verb in the statement was executed last.
The first verb is given a decimal value of 0, the second 1, and so on.
•After each statement number or offset in the right column there is a break in sequential execution, such as a CALL to


CICS or a branch to another location in the program. Each break results in a new line entry.
•If a program loops through a section of code more than once, the backtrace displays the number of times the loop was
executed below the line entry, instead of repeating the execution sequence.
•Plus signs indicate offsets; for example, +204.
To return to the breakpoint display, press PF3 or Clear .
The detailed breakpoint PF keys follow.
PF1 Help
Initiates the InterTest for CICS online help facility.
PF2
Unassigned.
PF3 Source
Displays the Source Listing version of the breakpoint.
PF4
Unassigned.
PF5 Resume
Resumes execution at the next instruction using the amount set on PF10.
PF6 Menu
Displays the Breakpoint Primary Option Menu.
PF7
Unassigned.
 1019


InterTest™ and SymDump ® 11.0
PF8
Unassigned.
PF9 1 Instruc
Executes the next machine instruction and then stops.
PF10 001 Verb
For COBOL, executes the next COBOL verb and then stops.
PF10 001 Stmt
For PL/I, executes the next PL/I statement and then stops.
PF 10 Registers
For Assembler, toggles registers on and off the screen.
PF11 Backtrace
Displays the column of backtrace available at this breakpoint.
PF12 Status
Displays a monitoring status report for the monitored entry (program, transaction, or terminal) that caused the
breakpoint.
PF22 Shift Left
Shifts source code left; COBOL and PL/I programs shift 10 characters at a time; Assembler programs shift to 02,
40, 50, and then 61. If you have only 12 PF keys, use the Margin= field to shift your source code.
PF23 Shift Right
Shifts source code to the right the same amounts as PF22.
Continue Execution
To continue execution from the Detailed Breakpoint or the Breakpoint Information screen, perform these steps:
•Press PF9 or PF10 to single-step.
•Press  PF5 Resume to continue execution starting with the next instruction.
•Press PF6 Menu  to access the Breakpoint Primary Option Menu, where you abend, override an automatic breakpoint,
step, or access the Resume Menu for additional execution options. For details, The Breakpoint Primary Option Menu.
•Enter a CNTL command on the command line.
•Enter GO, NEXT, or RUN on the command line.
Single-Stepping
Press PF9 or PF10  to execute a single machine instruction, COBOL verb, or PL/I statement, as indicated in the PF key


definition on the bottom of the screen. Use this method to see what data values are being moved into main storage.
Notes:
•The step amount for PF9 and PF10 cannot be changed. However, select alternative step amounts by entering CNTL
commands or by using the Resume Menu options. Access the Resume menu using PF6, and select Option 4 Resume
(the fast-path command is  =4).
•When you use PF10 to single-step through nested COBOL IF statements, it might appear that InterTest for CICS is not
executing one verb at a time. This is a function of how the compiler generates the object code. To follow closely the
execution of nested IFs, use PF9 (execute 1 instruction) instead.
Resume Execution
Access the Resume Menu by pressing PF6 from the Detailed Breakpoint screen, then selecting Option 4 Resume.
Alternatively, jump to the Resume menu by entering =4 in the command line on the Detailed Breakpoint screen.
Using the Resume Menu, perform the following functions:
 1020


InterTest™ and SymDump ® 11.0
•Resume program execution until the next breakpoint occurs or the transaction ends
•Resume program execution from a new location, such as a COBOL paragraph name, Assembler or PL/I label, COBOL
or PL/I statement number or offset
•Move or disable the current breakpoint
•Execute a specified number of PL/I instructions or COBOL verbs before stopping
•Abend the transaction with or without a dump
CNTL Commands
InterTest for CICS provides a default command at each breakpoint display, as shown following:
•The default command at an automatic breakpoint is:
CNTL=GO,task=xxxxx,A
A means abend the task without a dump.
•The default command at other breakpoints is:
CNTL=GO,task=xxxxx,C
C means continue execution from where you left off.
To execute the default command, press Enter .
To modify the default command, overtype the existing command and press Enter .
Continue Processing During Breakpoint Processing
To continue processing from either the current line or a specified line number or label until the next breakpoint is
encountered, an abend occurs, or the program runs to normal completion, enter:
GO line-number | label
Line-number
Indicates any line number within an ASSEMBLER, COBOL, or PL/1 program from which you want the execution
to continue.
Default : The current statement.
Label
Indicates any valid paragraph or procedure label within an ASSEMBLER, COBOL, or PL/1 program (up to 31
characters in length) from which you want the execution to continue.
Default : The current statement.
NOTE
GO is available only during breakpoint processing.
Continue Processing During Breakpoint Processing Until Specified Verbs Are Executed
NOTE
The NEXT command replaces the obsolete STEP command.


NOTE
The NEXT command replaces the obsolete STEP command.
NEXT verb-count
Verb-count
Indicates number of verbs to execute before the next display of the Breakpoint Display screen.
Default : Value of Stepping Amount in Profile.
NOTE
NEXT is available only during breakpoint processing.
 1021


InterTest™ and SymDump ® 11.0
Continue Processing Until a COBOL PERFORM Has Been Completed Avoiding Breakpoints
NEXT OVER
Specifies that the NEXT command is used to execute through a verb, instruction, or statement and return to that line. This
is to avoid breakpoints.
Continue Processing After a COBOL Program Breakpoint Until the Next Call Or Perform Statement
NEXT RETURN
Specifies that the NEXT command is used to continue execution until the next CALL or PERFORM verb. Execution stops
when it hits a CALL or PERFORM execution.
Continue Processing During Breakpoint Processing Ignoring Preset Breakpoints
To continue processing from the current statement ignoring all preset breakpoints until an abend occurs or the task runs to
normal completion, enter:
RUN
NOTE
RUN is available only during breakpoint processing.
Continue Processing During Breakpoint One Verb at-a-Time
To continue processing from the current statement one verb at a time displaying the Breakpoint Display screen for a
specified time interval until either a specified number of verbs have been executed or the next "CALL" statement is
encountered, enter:
AUTOSTEP interval stop-count
•Interval
Indicates number of seconds (between 1 - 59) to display each Breakpoint Display screen.
Default : Wait Amount in Profile.
•Stop-count
Indicates number of verbs to execute before stopping.
Default : Stop value in Profile.
NOTE
AUTOSTEP is available only during breakpoint processing.
See More Code on the Detailed Breakpoint Display
While viewing the Detailed Breakpoint display, you might not see all of the program's source code on your screen. To see
more code, perform the following steps:
1.Tab to the Margin= field, enter a number from 0 to 99 to indicate the starting position of the left margin, and press
Enter.


Enter.
InterTest for CICS redisplays the source code beginning in the position you requested. A Margin= value of 0 begins the
display from position 1.
2.Press PF22  to shift the source code left. Press PF23  to shift the source code right. COBOL and PL/I programs shift 10
characters at a time; Assembler programs shift to positions 02, 40, 50, and then 61.
Restore the Detailed Breakpoint Display
Once you leave the Detailed Breakpoint screen (for example, by pressing PF3 to view the source listing), restore the
Detailed Breakpoint display by pressing PF3 or Clear . If you accessed an InterTest for CICS facility such as CNTL,
CORE, HELP, or FILE, you might need to press PF3 or Clear more than once to restore the breakpoint display.
 1022