Foreground, Option 1 on the Primary Option Menu, includes the following panels:
Note: Novice users are encouraged to skim this chapter and the chapter "Debugging Commands" and read the Guidelines for Novice users in the chapter "Testing Procedures."
In addition, novice users can gain online experience with the application by performing the basic demonstration sessions in the appendices "Basic Foreground Demo Session" and "Basic Batch Link Demo" and by performing the advanced demonstration sessions in the appendix "Advanced Demo Session."
This section contains the following topics:
Access the Demo Session Options Menu
The testing process begins by selecting Option 1, Foreground, on the main menu.
The first two panels are called the Execution Control panel and the Monitor Control panel. Once you enter data on the Execution Control and Monitor Control panels, execution of the test program begins.
The Intercept panel acts as a window into the program where you can view any part of the program and from which you can issue control commands or line commands. The Intercept panel controls and monitors the test until the program comes to the normal end-of-job.
The Intercept panel displays the listing of the program, with the current statement highlighted. Enter commands to monitor the test step-by-step, to set breakpoints, to access other display panels, or to view other sections of the program.
Display the Intercept panel by any of the following conditions:
The following table describes a list of test-related panels:
|
Panel |
Description |
|---|---|
|
BREAKPOINT CONTROL |
Allows breakpoints (places where the application should interrupt) to be set by statement number or paragraph name. |
|
BREAKPOINT DISPLAY |
Lists the breakpoints set by statement numbers or paragraph names. |
|
WHEN CONTROL |
Allows breakpoints to be set based on variable contents or any time a variable changes. |
|
WHEN CONDITION DISPLAY |
Displays the when conditions set by either the line mode COND command or the When Control panel. |
|
EQUATE |
Allows data items to be equated to symbolic names. The variable may then be referred to using the data item or the symbolic name. |
|
EQUATE DISPLAY |
Displays the equate set by the line mode EQUATE command or the Equate panel |
|
DATA DISPLAY |
Displays a formatted display of program data. |
|
LINKAGE DISPLAY |
Displays a formatted display of the LINKAGE SECTION in COBOL format. This display is only available for COBOL programs. |
|
RECORDS DISPLAY |
Displays a formatted display of the records defined under the FILE SECTION in COBOL format. This display is only available for COBOL programs. |
|
FILE STATUS PANEL |
Shows the allocation for each FILE DESCRIPTION by ddname and dsname, and the DCB information whether the file is open or closed. If it is open, it indicates for INPUT, OUTPUT or INOUT. This display is only available for COBOL programs. |
|
PROGRAM TRACE DISPLAY |
Displays program statements in the order of their execution. |
Access the other options during the test session by using the split-screen feature and selecting another option from the Primary Option Menu.
The first two panels (the Execution Control panel and the Monitor Control panel) specify the initial program to be executed and the names of the program to be tested.
Use the Execution Control panel to specify the main program, execution parameters, and allocations required to run the application. The data entered on this panel remains in place from session to session until the information is deleted or changed by you.
The display shows the following fields:
Use the ALIB Dsname and Member fields to specify which existing ALIB member to use to perform the necessary allocations, specify the parameters to be passed to the main program, or to identify the main program. If the ALIB contains multiple job steps, indicate which job step to use in the EXEC Job Step and Proc Step fields. Note that specifying an ALIB is not required.
Use the Execution Overrides fields to override any fields that were obtained through the ALIB, if one was specified. The fields are as follows:
Indicates and overrides the main program to be executed in this debug session. In the previous example, the main program name is obtained through the ALIB.
Specifies and overrides the execution parameter to be passed to the main program. In the previous example, the parameter in the ALIB member is overridden with FORMAT.
Note: PARM is mutually exclusive with the Number of Linkage Parameters field.
Specifies the number of linkage parameters expected by the main program when there is more than one. (For a COBOL program, this is equivalent to the number of Linkage Section data items defined on the PROCEDURE DIVISION USING statement.) You can initialize and update the parameter values using the SET and LINKAGE commands. It also allows you to debug a subprogram as a main program.
Specify and override the STEPLIB (or JOBLIB if one was specified in the ALIB) required to execute the application. Specify the libraries by typing in the fully qualified data set name in quotes or by indicating a pre-allocated ddname in parenthesis.
Note: For customers with multiple CA Endevor SCM C1DEFLTS:
If you want to take advantage of the application dynamic symbolic support feature and you have chosen to run the debugging session as if you have a single C1DEFLTS (you have not defined your CA Endevor SCM site IDs in IN25SITE table, for example), you must now define the fully qualified data set name that contains the C1DEFLTS with your site ID in the Task Libraries fields.
Specifies a member in your INT1CLIB DD that includes commands to be executed at the initial intercept.
Use the Monitor Control panel to specify which programs the application monitors during a debugging session. Explicitly define up to 30 programs, but the use of wildcards allows you to define an unlimited number of programs. The data you enter on this panel remains in place from session to session until you delete or change the information.
Use the Monitored Programs section to define the programs that you want to debug. The program name specified must match the name of the PROTSYM member that contains the symbolic information for the program being debugged. Entries may end in a wildcard, *.
Use the symbolic (PROTSYM) files section to define the files that contain the symbolic information for the programs that you want to debug. A PROTSYM entry must exist for each program that you want to debug. Specify at least one PROTSYM file in this section.
Dynamic symbolic support, when activated, dynamically retrieves the compiler or assembler listing of the program being monitored from a CA Endevor SCM ‑managed listing data set and loads it into the designated PROTSYM file. For this feature to work, the load module library (specified under Task Libraries on the Execution Control panel) where the load module is loaded and the listing data set containing the module listing, must be under CA Endevor SCM control.
To activate the dynamic symbolic support feature, enter Y to the right of the PROTSYM file, underneath the heading Endevor Auto Populate to designate the PROTSYM file as the file to receive the listing. To deactivate the feature, change the Y to N.
The dynamic symbolic support feature, when activated, always loads the correct symbolic information whenever a matching symbolic version is not found.
Symbolic files associated with programs that do not contain a time stamp in the executable, such as non-LE-enabled Assembler programs, will be reloaded every time they are monitored. To suppress this behavior an additional option is provided on the Monitor Control panel (lower right hand corner under the heading: “Always Auto-Populate Non-LE-Enabled Assembler?”). Default is to always refresh the symbolic. This option when suppressed (by changing the Y to N) will never refresh the symbolic of a non-LE-enabled Assembler program.
Note: The dynamic symbolic support feature cannot differentiate between multiple listing outputs created by a single CA Endevor SCM processor for the same element. Thus, dynamic symbolic support using listing outputs from multiple compiles or assemblies from a single CA Endevor SCM GENERATE or MOVE action for the same element may produce unpredictable results.
Dynamic symbolic support provides an integrated service using API calls that deploy various proven components including CA Endevor SCM, PROTSYM post processors, z/OS dynamic allocation, CSVQUERY, and binder services. The following table provides a list of possible return codes (RC) and reason codes (RSC) the API and various components may return.
Note: Other numeric return codes and reason codes are also returned by CA Endevor SCM and z/OS binder services API (IEWBIND). See the appropriate manuals for details.
|
Function |
RC |
RSC |
Meaning |
|---|---|---|---|
|
API |
0 |
0 |
Operations completed successfully. |
|
API |
2 |
0 |
GETMAIN failed. |
|
API |
8 |
0 |
CA Endevor SCM server not activated. |
|
API |
12 |
0 |
Invalid or missing parameter in NDVRCOMM. |
|
API |
16 |
0 |
Bad return code from CA Endevor SCM. See CA Endevor SCM documentation. |
|
API |
20 |
0 |
Data set open failed. |
|
API |
28 |
0 |
Allocation error. See IBAPILOG file. |
|
API |
32 |
0 |
IN25DALC load failed. |
|
API |
36 |
0 |
ENA$NDVR load failed. |
|
API |
40 |
0 |
CA Endevor SCM footprint not found for requested element. |
|
API |
44 |
0 |
Requested CSECT not found. |
|
API |
30 |
0 |
IN25CDRV load failed. |
|
BINDER |
44 |
0 |
Requested CSECT not found by binder. |
|
CSVQ |
48 |
0 |
CSECT from IDRU does not match CSECT in NDVR_NAM2. |
|
Endevor |
12 |
0 |
Incorrect C1DEFLTS used. |
|
Endevor |
32 |
15 |
CA Endevor SCM encountered critical error and cannot continue. |
|
NDSB |
4 |
0 |
Compressed footprint in IDRU invalid. |
|
NIDR |
2 |
0 |
GETMAIN failed. |
|
NIDR |
32 |
0 |
IN25NDSB load failed. |
|
NSRV |
8 |
NSRV |
Listing server ABORTed or failed. |
|
0000 |
12 |
0000 |
Incorrect C1DEFLTS used. |
If you entered a Y in the Monitor PL/I field on the Monitor Control panel, which implies you want to monitor the PL/I programs, and those programs were compiled with Visual Age PL/I for OS/390, you will see the PL/I Protsym/Load Module Map panel. In order to successfully monitor these programs, enter the load module in which these programs reside in the Modname field to the right of the entry. The following screen shows the PL/I Protsym/Load Module Map panel.
----------- CA InterTest Batch PL/I Protsym/Load Module Map ------------------ COMMAND ===> SCROLL ===> CUR The following Visual Age PL/I programs are eligible for monitoring in this execution. To monitor any of these programs, enter the name of the load module in which the program resides. Press ENTER to continue or END to cancel testing. Protsym Date Time Protsym DSN Modname **************************** TOP OF DATA ************************** MYPLI 04/23/14 14:35:50 CAI.PROTSYM PLIDEMO 05/09/14 12:24:04 CAI.PROTSYM PLITEST 05/14/14 11:35:51 CAI.PROTSYM *************************** BOTTOM OF DATA ************************
After setting the required breakpoints, you can access the Demo Session Options Menu by executing the demo program and choosing the Advanced Options Menu from the Welcome panel. Use the following steps:
|
Action: |
From the Initial Intercept panel, type GO and press Enter to execute the program. |
|
Result: |
The demo program begins execution and displays the Welcome panel. |
|
Action: |
Press PF2 to access the Options Menu for the Advanced Demo Session. |
|
Result: |
The Advanced Options Preliminary Screen displays, reminding you not to access the Options Menu without including the data set member DEMOINCL. |
|
Action: |
Press Enter to continue. |
|
Result: |
The Demo Session Options Menu displays. |
Each of the Options on the menu is independent and can be performed in any order. To use an Option, follow the appropriate section. Upon completing an Option, you return to the Menu.
Before you start you should know that to interrupt a loop you must press the ATTN or PA1 key. Try the ATTN key first. If that does not interrupt the loop, your testing environment requires you to use the PA1 key. If using PA1, you may need to press RESET first.
The Intercept panel is the point where execution of the test program is controlled. The following screen shows the Breakpoint Intercept panel:
CAMRCOBB ---------- CA InterTest Batch *INITIAL* Intercept ------------------- COMMAND ===> SCROLL ===> CUR TRACE=> 000428 000427 PROCEDURE DIVISION USING PARAMETER-AREA. *--> 000428 START-PROGRAM. *--> 000429 OPEN OUTPUT REPORT-OUT. 000430 * -----------------------------------------------* 000431 * Welcome to the CA InterTest Batch Link * 000432 * Demonstration Program. You are now at the * 000433 * Initial Breakpoint panel which is displayed * 000434 * upon entry to the first program to be tested. * 000435 * At this point, other breakpoints can be set, * 000436 * and control commands can be issued before * 000437 * the program is executed. * 000438 * -----------------------------------------------* *--> 000439 MOVE ZERO TO OPTION-CHOSEN. *--> 000440 MOVE R1498-TIMEI TO R1498-TIME. *--> 000441 PERFORM TIME-EDIT THRU TIME-EDIT-EX. 000442 * *--> 000443 MOVE R1498-TIMEO TO R1498-TIME. *--> 000444 PERFORM TIME-EDIT THRU TIME-EDIT-EX. 000445 * -----------------------------------------------* 000446 * By default, this program will cause an S0C7 *
The Intercept panel has the following attributes:
Note: Each time a test begins the application displays an Initial Intercept panel that stops before the first monitored executable statement is executed. At this point, use breakpoints and control commands before the program is executed.
The Intercept panel can optionally indicate the number of times each statement has been executed as shown in the following panel. This is called the frequency counter. For further information on the frequency counts, see the Counts Control Command in the chapter "Debugging Commands."
CAMRCOBB -------------- CA InterTest Batch BREAKPOINT INTERCEPT --------------- COMMAND ===> SCROLL===> PAGE TRACE=> 044500 043700 041500 038300 035600 033400 032100 025900 025800 025700 044400 0001 044500 PERFORM 0110-FORMAT-DETAIL-LINE 044600 VARYING VALUE-INDEX 044700 FROM 1 044800 BY 1 044900 UNTIL VALUE-INDEX IS GREATER THAN 1. 045000 ---> 045100 9999-EXIT. ---> 045200 EXIT. 16 16.48.01 OCT 26, 2014 0005 045400 0110-FORMAT-DETAIL-LINE SECTION. 0005 045500 SET COUNTER-INDEX TO INDEX-VALUE (VALUE-INDEX). 0005 045600 MOVE COUNTER-NAME(COUNTER-INDEX) TO DETAIL-NAME. 0005 045700 MOVE COUNTER-NAME(COUNTER-INDEX) TO DETAIL-ID. 0005 045800 MOVE COUNTER-READ(COUNTER-INDEX) TO DETAIL-READ. 0005 045900 MOVE COUNTER-REJECTED(COUNTER-INDEX) TO DETAIL-REJECTED. 0005 046000 MOVE COUNTER-USER-REJECT(COUNTER-INDEX) TO DETAIL-USER-REJ. 0005 046100 MOVE COUNTER-DELETED(COUNTER-INDEX) TO DETAIL-DELETED. 0005 046200 MOVE COUNTER-RECYCLED(COUNTER-INDEX) TO DETAIL-RECYCLED. 0005 046300 DISPLAY DETAIL-LINE. 0005 046400 9999-EXIT.
Invoke all other test panels from the Intercept panel. You must return to the Intercept panel before accessing another test panel. For example, to format a data item, enter the DIsplay command in the Command field. To return to the Intercept panel, press the END key. To resume execution, enter GO in the Command field, use the G line command, or press the appropriate PF key. The test continues until the next intercept condition is encountered, an ABEND occurs, or the test comes to the normal end of job.
The type of intercept being displayed is shown at the top center of the panel on the title line. The possible intercepts are defined as follows:
|
Intercept |
Description |
|---|---|
|
*INITIAL* INTERCEPT |
Displayed upon entry into the first program that you have asked to monitor. To have the application stop upon entry to all programs, enter AT ALL ENTRY on the command line at this intercept. |
|
UNCOND BEFORE and UNCOND AFTER INTERCEPT |
Displayed when the program reaches an executable statement where the application was instructed by the programmer to stop executing the program. |
|
ABEND INTERCEPT |
Displayed when a monitored program ABENDs or an unhandled condition has been raised under LE/370. The ABEND code is shown in the title line. Resolve ABENDs by using application commands. For example, if invalid data is in a data item, use the set command to change the value. Continue the test using the GO command. |
|
ATTENTION INTERCEPT |
Displayed when a potential breakpoint is reached after the ATTENTION or PA1 key is pressed. For more information on use of the ATTENTION or PA1 key, see the Stopping a Looping Program in the chapter "Testing Procedures." Enter the GO command in the Command field or press the appropriate PF key. |
|
STEP BEFORE and STEP AFTER INTERCEPT |
Displayed when the count parameter in the STEP command is matched. Enter the STEP command in the Command field of the Intercept panel. For more information about this command format, see STEP Control Command in the chapter "Debugging Commands." The STEP command specifies the number of statements to be executed each time the GO command is issued. The STEP COUNT Intercept panel is displayed after each execution. |
|
NEXT BEFORE and NEXT AFTER INTERCEPT |
Displayed when the next count (set by the NEXT command) is exceeded. Enter the NEXT command in the Command field of the Intercept panel. For more information about this command format, see the NEXT Control Command in the chapter "Debugging Commands." The NEXT command causes the execution of the next n statements in the program. The NEXT command operand specifies the number of statements to be executed before the Next Count Intercept panel is displayed again. |
|
WHEN when-name BEFORE and WHEN when-name AFTER INTERCEPT |
Displayed at a conditional breakpoint. A conditional breakpoint is detected when the conditional statement specified in the COND command is true. Enter the COND command in the Command field of the Intercept panel to set conditional breakpoints or to access the When panel. For more information about this command format, see the WHEN (or COND) Control Command in the chapter “Debugging Commands.” Set conditional breakpoints with the line commands C, W, and V. |
|
LABEL INTERCEPT |
Displayed with executing a label when the AT ALL LABEL or AT LABEL breakpoint has been set. |
|
DBCALL INTERCEPT |
Displayed when a call is made to a database, such as DB2 or IMS, when the AT ALL DBCALL or AT DBCALL breakpoint has been set. |
|
PGM ENTRY INTERCEPT |
Displayed upon entry to any program that you are monitoring when the AT ALL ENTRY or AT ENTRY breakpoint has been set. |
|
PGM EXIT INTERCEPT |
Displayed before exiting any COBOL program that is being monitored when the AT ALL EXIT or AT EXIT breakpoint has been set. |
There are two types of breakpoints, as follows:
Set conditional and unconditional breakpoints by entering a control command with operands on the Intercept panel, or by entering only the command and being prompted with a fill-in-the-blanks panel. This section describes how to use the fill-in-the-blanks panels to set breakpoints.
For information on setting breakpoints using control commands with operands, see the description of the following control commands in the chapter "Debugging Commands": AT (or UNCOND) and WHEN (or COND). For information on removing breakpoints, see the commands OFF (or OFFU) and OFFWN (or OFFC).
You can also set unconditional and conditional breakpoints by entering a single-character line command on the line where you want the breakpoint. For information on using line commands to set and remove a breakpoint, see the description of the U (or A), C (or W), V and X (or O) line commands in the Line Commands section of the chapter "Debugging Commands."
There is no limit to the number of breakpoints you can set.
The Breakpoint panel is a prompt panel used to set, reset (delete), or list unconditional breakpoints. An unconditional breakpoint stops program execution at the specified statement. Access the Breakpoint panel by entering the command UNCOND (or AT) or OFF, without operands, in the Command field of the Intercept panel.
Use the OPTION field to enter S (set), R (reset), or L (list):
|
S |
You must enter the statement number. The program stops whenever the statement number is encountered, unless you enter a count in the COUNT field. |
|
|
The COUNT field is optional for the S option. Use it to specify the number of times a statement is executed before the program is stopped. The program stops at the designated statement prior to the final increment of the COUNT field. The commands to be executed execute when the COUNT limit is satisfied. Use the AFTER field to indicate whether you would like execution to stop before this statement is executed (N) or after the statement is executed (Y). |
|
R |
Deletes a breakpoint. You must enter the statement number. To delete a breakpoint for another program, enter the program name. |
|
L |
Displays the Breakpoint Status panel. This is a listing of all unconditional breakpoints currently set in the program. Note: You can also delete breakpoints from this screen. |
Execute application commands at a breakpoint by entering the commands (separated by semicolons) in the COMMANDS TO BE EXECUTED AT BREAKPOINT field. The commands execute until the program resumes through the GO command, or until there is a request for a panel through a command such as DI or AT. The remaining commands are ignored. The list of commands can be up to 73 characters long and should be entered as shown in the following example:
COMMANDS TO BE EXECUTED AT BREAKPOINT: ===>SET BINARY-1 = 01;LDI BINARY-1;NEXT 5
In this example, the following commands are executed when the breakpoint occurs:
This panel is invoked by entering the UNCOND (or AT) or OFF command without operands on the command field from an Intercept panel.
Display the Breakpoint Status panel by selecting L (list) on the Breakpoint panel. It lists breakpoints set in the Breakpoint panel and by the UNCOND or AT commands for the current program. A sample Breakpoint Status panel follows.
------------------- CA InterTest Batch BREAKPOINT PANEL ---------------------- COMMAND ===> SCROLL ===> CUR *************************** Top of Data ********************************* UNCONDITIONAL BREAKPOINTS FOLLOW: PROGRAM STMT# COUNT EXEC B/A COMMANDS TO BE EXECUTED -------- ------ ----- ---- --- ------------------------------------- . CAMRCOBB 000589 0000 0000 B SOURCE LINE: SPLIT-SCREEN. . CAMRCOBB 000541 0000 0000 B SOURCE LINE: PAY-CALC. . CAMRCOBB 000659 0000 0000 B SOURCE LINE: ORDER-CALC. . CAMRCOBB 000561 0000 0000 B SOURCE LINE: CONDITIONAL-BREAKPOINT. . CAMRCOBB 000664 0000 0000 B SOURCE LINE: ORDER-CALC-EX. . CAMRCOBB 000714 0000 0000 B
The display shows the following items:
|
PROGRAM |
This is the monitored program name. |
|
STMT# |
This is the statement number of the breakpoint. |
|
COUNT |
This shows the number of times a breakpoint is executed before the program stops and the command in the COMMANDS TO BE EXECUTED field is executed. |
|
EXEC |
This shows the number of times the breakpoint has been executed. |
|
B/A |
This indicates whether execution should stop before or after the statement. |
|
COMMANDS TO BE EXECUTED |
These are application commands specified in the Breakpoint panel or by the AT command. |
|
SOURCE LINE |
This shows the source line where the breakpoint was set. |
Note: Use an O or X line command to remove these breakpoints from this screen.
You can use all SCROLL keys and SCROLL variables in this display.
Use the When panel to set, reset (delete), or list conditional breakpoints. It is invoked by entering either COND (or WHEN) or OFFWN, without operands, in the Command field of the Intercept panel.
You give each When condition a when-name. This name is up to eight characters long. If the when-name specified is a statement number in the program, the when condition is checked only before executing this statement. This line-specific when condition is known as a local conditional and requires less computing overhead since the condition is not tested before every statement.
A When-condition breakpoint is defined by one of two conditions:
Use the OPTION field to enter S (set), R (reset), or L (list), as follows:
|
S |
The when-name and data-area-1 operands are required; the operator and data-area-2 operands are optional. |
|
R |
Only the when-name operand is required. |
|
L |
Displays the When Conditions Display panel. This is a listing of all conditional breakpoints in the program. |
|
WHEN NAME |
A 1-8 character name assigned to the test or program statement number (required) |
|
DATA-AREA-1 |
The data-name to be tested (required) |
|
OPERATOR |
Condition which DATA-AREA-1 and DATA-AREA-2 must meet for the breakpoint to occur. Valid values are: |
|
|
GT or > Greater Than LT or < Less Than EQ or = Equal NE or ? = Not Equal GE or >= Greater Than or Equal LE or <= Less Than or Equal |
|
|
Note: => and =< are not permitted. |
|
DATA-AREA-2 |
(Optional field) Data-name or content which is compared with Data-AREA-1. |
|
BEFORE/AFTER |
Field to indicate whether to stop before or after the statement when the condition is recognized. |
Execute commands at a conditional breakpoint by entering the commands (separated by semicolons) in the COMMANDS TO BE EXECUTED AT WHEN CONDITION field. At the breakpoint, commands execute sequentially until the program resumes execution through the GO command, or until there is a request for a panel through a command such as the DI or UNCOND command. The remaining commands are ignored. The list of commands can be up to 73 characters long and should be entered as shown in the following example:
COMMANDS TO BE EXECUTED AT WHEN CONDITION: ===>SET BINARY-1 = 01;LDI BINARY-1;NEXT 5
This panel can be invoked by entering the COND (or WHEN) or OFFWN command without operands from an Intercept panel.
Display the When Conditions Display panel by selecting L (list) on the When panel. It lists conditional breakpoints set in the When panel, by the V, C and W line commands, and by the COND (or WHEN) command for the current program with operands in the Command field of an Intercept panel.
A sample When Conditions Display panel follows:
------------------- CA InterTest Batch BREAKPOINTS PANEL ---------------------- COMMAND ===> SCROLL ===> CUR *************************** Top of Data ********************************* CONDITIONAL BREAKPOINTS FOLLOW: PROGRAM WHN NAME DATA NAME 1 OP DATA NAME 2 -------- -------- ------------------------------ ---- --------------- . CAMRCOBB LOOPCOND LOOP-OUT GT +5000. ..SUBCOMMANDS FOR ABOVE WHEN ==> SET LOOP-OUT=0 ************************** Bottom of Data *******************************
The display is defined as follows:
|
PROGRAM |
The monitored program name. |
|
WHN NAME |
This column shows the when-name. |
|
DATA NAME 1 |
This column shows the data name specified in data‑area‑1. |
|
OP |
This column shows the operator that compares data-area-1 to data‑area-2. When ANY is shown, the breakpoint occurs if any change is made to data-name-1. |
|
DATA NAME 2 |
This column shows the data item or constant stated in data-area-2. The number of bytes to check are shown for an ANY condition. |
|
B/A |
Indicates whether execution should stop before or after the statement. |
|
SUBCOMMANDS |
To be executed when the breakpoint occurs are listed on the following line. |
|
SOURCE LINE |
Shows the source line where the breakpoint was set, if the breakpoint was local to a line |
Note: Use an O or X line command to remove the breakpoint from this screen.
You can use all SCROLL keys and SCROLL variables in this display.
Use the Equate panel to set, drop (delete), or list equated variable names. A data item may be equated with a symbolic name and then may be referred to by either the symbolic name or the data name. There is no limit to the number of equates that can be set. Access the Equate panel by entering the command EQU or DROP, without operands, in the Command field of the Intercept panel.
Use the OPTION field to enter S (set), D (drop), or L (list):
|
S |
You must enter an equate name and the data-name-1 fields. You need only enter the data-name-2 and data-name-3 fields when equating qualified data-items. Data-name-1 may be a subscripted or indexed data item. |
|
|
If the equate name and data-name-1 fields are filled in, the S option need not be specified. Upon pressing Enter, the equate is set. |
|
D |
Drops an equate. You must enter the equate name. |
|
L |
Displays the Equate Display panel. This is a listing of all equates that have been set using the EQUATE command. |
Note: For more information on the use and function of this command, see the EQUATE Control Command in the chapter "Debugging Commands."
This panel is invoked by entering the EQU or DROP command without operands from an Intercept panel.
The Equate Display panel is displayed when L (list) is selected on the Equate panel or the LISTEQ command is specified on the Intercept panel. It lists all equates currently set.
The following screen is an example of an Equate Display panel:
------------------- CA InterTest Batch EQUATE DISPLAY PANEL ------------------- COMMAND==> SCROLL ===> PAGE EQUATE NAME --------------------- ACTUAL NAME --------------------------------- ***************************************** TOP OF DATA ************************* WT1 WA-T1-1A(1) OF WA-TABLE-1 N1 NAME-ONE OF EMP-NAME OF PAYROLL-REC ********************************* BOTTOM OF DATA ******************************
The display shows the following fields:
|
EQUATE NAME |
The symbolic name equated with the data item |
|
ACTUAL NAME |
The data item. Subscripts and qualifications are also shown. |
You can use all SCROLL keys and SCROLL variables in this display.
You view or alter data values in a monitored program using data display panels. Enter the appropriate command in the Command field of the Intercept panel to access each type of display. The following table describes the commands:
|
Command |
Function |
|---|---|
|
DISPLAY |
Displays a data item defined to the monitored program or the WORKING STORAGE SECTION of a COBOL program. |
|
LINKAGE |
Displays the LINKAGE SECTION of a COBOL program. This command is not valid for assembler or PL/I. |
|
RECORDS |
Displays the FILE SECTION file descriptions of a COBOL program. This command is not valid for assembler or PL/I. |
All of the data display panels use the same format, so only the Display panel is shown in detail.
Note: When the DATAMON command is in effect and the trace navigation commands (PREV, ADV, POINT) have been used since the last breakpoint, this panel does not allow altering of data values. In addition, the data values that are displayed correspond to the data values before the current trace entry was executed.
A sample Display panel follows:
-------------- CA InterTest Batch WORKING STORAGE DISPLAY ------------------- COMMAND ===> SCROLL ===> PAGE ADDRESS TYPE LINE # LV NAME / VALUE 0----.----1----.----2- 002288BC 003900 02 MISCELLANEOUS-DATA 002288BC NB-S 004000 03 SOME-BIG-NUMBER -123456789. 002288C0 NB-S 004200 03 SOME-BIGGER-NUMBER +1234567890. 002288C8 NB-S 004400 03 SOME-BIGGEST-NUMBER +123456789012345678. 002288D0 F 004600 03 FLOATING-POINT-0 +00000000.00000E+05 002288D4 F 004800 03 ABEND-0CF +00000000.00000E+05 002288D8 AN 005000 03 FIRST-TIME-SWITCH . 002288D9 AN 005200 03 INPUT-EOF-SWITCH . 002288DA AN 005400 03 SOSV0003 SOSV0003 002288E2 AN 005500 03 MODULE-NAME B00G0057 002288EC NB 005600 03 RECORD-DEVIATION 00000.00 002288F0 NB-S 005800 03 RECORD-DEVIATION-PLUS +12345.67 002288F4 NB-S 006000 03 RECORD-DEVIATION-MINUS -76543.21 002288F8 NP-S 006200 03 RECORD-DEVIATION-PACKED +00077.25 002288FC NP-S 006400 03 RECORD-DEVIATION-SCALED +000007654000. 00228901 NP-S 006600 03 RECORD-PERCENT-DEVIATION +000875 00228903 NP-S 006900 03 RECORD-PERCENT-DEVIATION-MINUS -.000875 00228905 AN 007200 03 CURRENT-SYSID .... 00228909 AN 007300 03 ABEND-0C7-DATA 00228909 NP-S 007400 03 ABEND-0C7 ?404. 0022890B ND-SL 007600 03 EXTERNAL-DECIMAL-LEAD -12345.99
The heading lines for all the panels are defined as follows:
|
COMMAND |
This field accepts display commands only; for valid commands, see Display Commands in the chapter "Debugging Commands.” |
|
ADDRESS |
This column is the starting virtual storage address for the data item. Use this address to address the data in Core, Option 2 on the PRIMARY OPTION MENU. |
|
TYPE |
This is defined as follows: Alphabetic AN Alphanumeric AN-V Varying alphanumeric ANE Alphanumeric edited BF Binary floating point BIT Bit BIT-V Varying bit Display (Sterling nonreport) DE Display edited (Sterling report) DBC Graphic or DBCS DBC-V Varying graphic Floating point (COMP-1/COMP-2) FD Floating point display (external floating point) HX Hexadecimal N National (UTF-16) NB Numeric binary unsigned (COMP) NB-S Numeric binary signed ND Numeric decimal unsigned (external decimal) ND-OL Numeric display, overpunch sign leading ND-OT Numeric display, overpunch sign trailing ND-SL Numeric display, separate sign leading ND-ST Numeric display, separate sign trailing NE Numeric edited NP Numeric packed decimal unsigned (COMP-3) NP-S Numeric packed decimal signed PTR Pointer data item (usage pointer) UI Index data item (usage index) Subscripted |
|
LINE # |
This column shows the program line numbers where the data names are defined. |
|
LV |
This is the level number generated by the compiler. Level numbers appear in the DMAP output of the COBOL compiler or the AGGREGATE output of the PL/I compiler. |
|
NAME/VALUE |
This column displays the data-item names. |
The value of the data item is displayed as it is defined in the monitored program. If the data in the VALUE field is more than 20 characters long, it is shown on multiple lines.
Alter data by typing over the value field. If an attempt is made to modify a data item with a value larger than the size of the data item, the application truncates it. Movement of new values to the data area is done according to how the item is defined. For example, if the variable is alphanumeric and is 2 bytes long, if you enter 12B, the value truncates to 12.
You can use all SCROLL keys and SCROLL variables.
For assembler programs, when an access register or 64-bit address is requested for display, an additional line shows the access register or “high half” value, as shown in the following panels:
-------------- CA InterTest Batch ASSEMBLER DATA DISPLAY --------------------- COMMAND ===> SCROLL ===> CUR ADDRESS TYPE LINE # LV NAME / VALUE 0----.----1----.----2-- **************************** Top of Data ************** ******************** High-Half ==> 00000001 00000000 HX 000000 02 R1 0000000000000000 00000008 HX 000000 +0008 0000000000000000 00000010 HX 000000 +0016 00000003000B3958 …………………… *************************** Bottom of Data ************ ********************
-------------- CA InterTest Batch ASSEMBLER DATA DISPLAY --------------------- COMMAND ===> SCROLL ===> CUR ADDRESS TYPE LINE # LV NAME / VALUE 0----.----1----.----2-- **************************** Top of Data ************** ******************** ALET ===> 00010004 00000000 HX 000000 02 R3? 0000000000000000 00000008 HX 000000 +0008 0000000000000000 00000010 HX 000000 +0016 0000000000000000 …………………… *************************** Bottom of Data ************ ********************
For more information on Assembler indirect addressing, see the section Control Commands in the chapter “Debugging Commands”.
Invoke the panel by entering the Display command, with or without operands, from an Intercept panel. For assembler and PL/I programs, operands are required.
Display the Linkage panel after the first PROCEDURE DIVISION statement has been executed, otherwise the linkage addresses will not be resolved. This occurs only when the Intercept panel is displayed for the first time and the LINKAGE command is entered. You can avoid this by using the NEXT command the first time the Intercept panel is displayed to execute the first statement in the PROCEDURE DIVISION and resolve the linkage addresses.
You can only use the RECORDS command, which displays the File Section Display panel, to modify data if the file is open.
Invoke these panels by entering the LInkage or REcords commands with or without operands from an Intercept panel. These commands are only valid for COBOL programs.
The File Status panel displays the characteristics of all assigned files, and shows whether they are open or closed. The following screen is an example of the File Status panel:
--------------------- CA InterTest Batch FILE STATUS PANEL -------------------- COMMAND ===> SCROLL ===> PAGE FD-NAME------------------------DDNAME---DSNAME------------------------------------- INPUT-FILE SYSUT1 INTC.SOME.DATAS OPEN INPUT DSORG=PS RECFM=FB BLKSIZE=06000 LRECL=0080 DCB=00123456 DEB=006C941C . . . . . . . . . . . . . . . . . . . . SYMBOL-FILE SYMBOL *** WARNING *** DD CARD NOT ALLOCATED CLOSED DSORG=PS RECFM=..... BLKSIZE=00800 LRECL=0080 DCB=0018D42C . . . . . . . . . . . . . . . . . . . . OUTPUT-FILE SYSUT2 INTC.NOTA.PDS OPEN OUTPUT DSORG=PS RECFM=FB BLKSIZE=06000 LRECL=0080 DCB=0018DD40 DEB=006C941C DECB=0018BD80 . . . . . . . . . . . . . . . . . .
A warning is issued for a file if the DD CARD is not allocated. In this product you can do any of the following actions:
Note: Batch Link users must use the DDALLOC command. For more information on this command, see Control Commands in the chapter "Debugging Commands".
The data event block (DEB) is only displayed for files that have been opened and is not valid for closed files. The data event control block (DECB) is only displayed for basic sequential access method (BSAM) files.
For OS/VS COBOL users, IMS databases do not appear on the status display.
Invoke this panel by entering the FILES (FI) command from an Intercept panel. This command is only valid for COBOL programs.
The Program Trace Display panel displays program statements in the order of their execution. To initiate a trace, enter the TRACE or TRACE SOURCE command in the Command field of the Intercept panel. For more details on the command format for TRACE Control Command, see the chapter "Debugging Commands".
A sample Program Trace Display panel with TRACE follows:
------------------ CA InterTest Batch PROGRAM TRACE DISPLAY ------------------- COMMAND INPUT ===> SCROLL===> PAGE StmtNo Program Label Name/Source Line 043700 CAMRCOBB 043500 CAMRCOBB 043400 CAMRCOBB FORCING-THE-ABEND 043300 CAMRCOBB 043100 CAMRCOBB 042200 CAMRCOBB 042034 CAMRCOBB 042033 CAMRCOBB 042031 CAMRCOBB 051500 CAMRCOBB 0100-SOME-MEANINGFUL-LABEL 051400 CAMRCOBB 050600 CAMRCOBB 050400 CAMRCOBB 050200 CAMRCOBB 049800 CAMRCOBB 0200-THESE-ARE-PARAGRAPH-NAMES 049700 CAMRCOBB 049400 CAMRCOBB 048600 CAMRCOBB 042030 CAMRCOBB 042029 CAMRCOBB 042028 CAMRCOBB
A sample Program Trace Display panel with TRACE SOURCE follows:
------------- CA InterTest Batch PROGRAM TRACE DISPLAY ------------------------ COMMAND ===> Scroll ===> PAGE StmtNo Program Label Name/Source Line **************************************** TOP OF DATA ************************** 001042 CAMRCOBB MOVE R1498-TIMEO TO R1498-TIME. 001041 CAMRCOBB SPLIT-SCREEN. 001038 CAMRCOBB IF S-AID = 'PF3 ' OR 'PF15' 001037 CAMRCOBB CALL 'ROETSAPI' USING GETV S-AID-DEF S-AID. 001035 CAMRCOBB IF RETURN-CODE NOT EQUAL ZERO 001034 CAMRCOBB CALL 'ROETSAPI' USING PANL PANL-PARM. 001033 CAMRCOBB MOVE '73' to PANL-ID. 001028 CAMRCOBB DEMONSTRATE-SPLIT-SCREEN. 000950 CAMRCOBB GO TO DEMONSTRATE-SPLIT-SCREEN. 000949 CAMRCOBB IF P-OPT = '3' 000947 CAMRCOBB IF P-OPT = '2' 000945 CAMRCOBB IF P-OPT = '1' 000942 CAMRCOBB IF S-AID = 'PF3 ' OR 'PF15' 000939 CAMRCOBB IF RETURN-CODE NOT EQUAL ZERO 000937 CAMRCOBB CALL 'ROETSAPI' USING GETV S-AID-DEF S-AID 000934 CAMRCOBB IF RETURN-CODE NOT EQUAL ZERO 000933 CAMRCOBB CALL 'ROETSAPI' USING PANL PANL-PARM. 000932 CAMRCOBB MOVE '07' to PANL-ID. 000930 CAMRCOBB MOVE ZEROES TO LOOP-OUT. 000929 CAMRCOBB OPTIONS.
The display shows the following columns:
|
StmtNo |
This is the statement number in the order of execution. |
|
Program |
This is the program ID for each statement number. |
|
Label Name/ |
This is the paragraph, procedure, or label name for the indicated statement number (TRACE) or the source code for the indicated statement number (TRACE SOURCE). |
The Command field accepts only display commands; for valid commands, see Display Commands in the chapter "Debugging Commands." You can use all SCROLL keys and SCROLL variables in this panel.
Invoke the Program Trace Display panel by entering the TRACE command or the TRACE SOURCE command from an Intercept panel.
|
Copyright © 2015 CA Technologies.
All rights reserved.
|
|