Annotated listing format

There are three formats of annotated listings:

Observation viewer
The View table entry command builds an annotated listing in a temporary data set and internally issues the view command against that data set. The data set is deleted when view exits. Unlike the annotated listings described below, a viewed annotated listing is not subject to selection criteria. This means that the only annotation performed is marking the statements as executed or unexecuted. In other words, there are no included or excluded statements to annotate. Also because of this, the statistics in the viewed annotated listing lack the granularity of the statistics provided in the other annotated listings.
XML Report
This creates an annotated listing with additional annotation (markers) for included and excluded lines. Each line in the source listing is encapsulated in <STMT> and </STMT> XML tags. The selection criteria source markers and statistics are encapsulated in their own XML tags as is the observation data and SYSDEBUG compile date and time.
Presentation Report
The presentation format annotated listing is more viewer friendly and is nearly identical to an XML format report without the XML tags. The selection criteria source markers, the statistics, and the observation data are included in the tables that follow the annotated listing. The report also indicates whether the SYSDEBUG compile date and time does not match the compile date and time that is recorded in the observation.

The annotated listing begins with a table of information about the observations that is similar to an entry in the Viewer. After that, the source listing is displayed with annotation showing which executable lines were executed or not executed. XML and presentation reports also contain additional annotation for included and excluded lines (as indicated by the source markers in the Selection file). The result is written to the specified output data set. If option 3 was requested, the output data set is browsed via ISPF but not deleted upon exit.

Below is a sample of a presentation format annotated listing report for a COBOL program. There are 8 header lines including 2 blank ones, the rollup history, a number of source lines, the selection criteria source markers, and the statistics. The header lines indicates the observation for which the report is generated. The rollup history indicates the origin of the observation.

1Rpt Date :  2013/05/11      Rpt Time:   10:32:45                         

 Run Date :  2013/05/10      Run Time:   09:22:49                         
 Group ID 1: COST            Group ID 2: BENEFIT         User ID:    USER1
 Load Name:  COB01           Prog Name:  COB01A                           
 Comp Date:  2013/05/07      Comp Time:  15:53:00        Debug override: N
 Tot Stmts:  17              Exec Stmts: 15              Percent:   88.23%

Rollup History:
Observation is not part of rollup.

                ----+-*A-1-B--+----2----+----3----+----4----+----5----+----6----+----7-|--+----8
      1               * COB01A - COBOL EXAMPLE FOR DTCU
      2
      3                IDENTIFICATION DIVISION.
      4                PROGRAM-ID. COB01A.
      5               ******************************************************************
      6               * Licensed Materials - Property of IBM                           *
      7               *                                                                *
      8               * 5655-M18: Debug Tool for z/OS                                  *
      9               * 5655-M19: Debug Tool Utilities and Advanced Functions          *
     10               * (C) Copyright IBM Corp. 1997, 2004 All Rights Reserved         *
     11               *                                                                *
     12               * US Government Users Restricted Rights - Use, duplication or    *
     13               * disclosure restricted by GSA ADP Schedule Contract with IBM    *
     14               * Corp.                                                          *
     15               *                                                                *
     16               ******************************************************************
     17
     18
     19                ENVIRONMENT DIVISION.
     20
     21                DATA DIVISION.
     22
     23                WORKING-STORAGE SECTION.
     24                01  TAPARM1      PIC 99 VALUE 5.
     25                01  TAPARM2      PIC 99 VALUE 2.
     26                01  COB01B       PIC X(6) VALUE 'COB01B'.
     27                01  P1PARM1      PIC 99 VALUE 0.
     28
     29                01  TASTRUCT.
     30                  05 LOC-ID.
     31                    10 STATE    PIC X(2).
     32                    10 CITY     PIC X(3).
     33                  05 OP-SYS     PIC X(3).
     34
     35                PROCEDURE DIVISION.
     36
     37               * THE FOLLOWING ALWAYS PERFORMED
     38
     39               * Defect456Begin
     40
     41                PROG.                                                            PMR11112
     42               * ACCESS BY TOP LEVEL QUALIFIER                                   PMR11112
     43 I>                 MOVE 'ILCHIMVS' TO TASTRUCT                                  PMR11112
     44
     45               * ACCESS BY MID LEVEL QUALIFIERS                                  PMR11113
     46 I>                 MOVE 'ILSPR' TO LOC-ID                                       PMR11113
     47 I>                 MOVE 'AIX' TO OP-SYS                                         PMR11113
     48
     49               * ACCESS BY LOW LEVEL QUALIFIERS                                  PMR11114
     50 B>                 MOVE 'KY' TO STATE                                           PMR11114
     51 B>                 MOVE 'LEX' TO CITY                                           PMR11114
     52 B>                 MOVE 'VM ' TO OP-SYS                                         PMR11114
     53                    .                                                            PMR11114
     54
     55                PROGA.
     56  >                 PERFORM  LOOP1 UNTIL TAPARM1 = 0
     57
     58  >                 IF TAPARM2 = 0   THEN
     59               *   PROCA NOT EXECUTED                                            PMR12345
     60 I<                     PERFORM PROCA.                                           PMR12345
     61
     62
     63 I>                 PERFORM LOOP2 UNTIL TAPARM2 = 0                              PMR12345
     64                    .
     65  >                 STOP RUN
     66                    .
     67
     68                PROCA.
     69               *   PROCA NOT EXECUTED                                            PMR12345
     70 I<                 MOVE 10 TO P1PARM1                                           PMR12345
     71                    .                                                            PMR12345
     72                LOOP1.
     73  >                   IF TAPARM1 > 0 THEN
     74  >                     SUBTRACT 1 FROM TAPARM1.
     75  >                   CALL 'COB01B'
     76                    .
     77                LOOP2.                                                           PMR12345
     78 I>                   IF TAPARM2 > 0 THEN                                        PMR12345
     79 I>                     SUBTRACT 1 FROM TAPARM2.                                 PMR12345
     80
     81               * Defect456End

                           Start  End
  Marker type   Selection  Column Column String
  ------------- ---------  ------ ------ ------------------------------
  SINGLE        INCLUDE        73     75 PMR
  SINGLE        EXCLUDE        73     80 PMR11114
  SECTIONBEGIN  INCLUDE         7     80 DEFECT123BEGIN
  SECTIONEND    INCLUDE         7     80 DEFECT123END

            Statements  Executed  Percentage
            ----------  --------  ----------
  Total             17        15       88.23
  Included           8         6       75.00
  Excluded           0         0        0.00
  Incl/Excl          3         3      100.00

Below is a sample of a presentation format annotated listing report for a PL/I program. The format is similar to other supported languages.

1Rpt Date :  2013/09/10      Rpt Time:   11:53:14
 
 Run Date :  2013/09/02      Run Time:   12:31:30
 Group ID 1: *               Group ID 2: BENEFIT         User ID:   USER1
 Load Name:  PLI01           Prog Name:  PLI01A
 Comp Date:  2013/09/02      Comp Time:  12:14:00   Debug override: N
 Tot Stmts:  14              Exec Stmts: 11              Percent:   78.57%
 
 Rollup History:
 
 Group ID 1      Group ID 2      Load Name       Prog Name
 --------------- --------------- --------------- ---------------
 COST            BENEFIT         PLI01           PLI01A          
 COST            BENEFIT         PLI01           PLI01A          
 
                ----+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----8
      1          PLI01A:PROC OPTIONS(MAIN);         /* PL/I DTCU TESTCASE            */
      2          /********************************************************************/
      3          /* Licensed Materials - Property of IBM                             */
      4          /*                                                                  */
      5          /* 5655-P14: Debug Tool for z/OS                                    */
      6          /* 5655-P15: Debug Tool Utilities and Advanced Functions            */
      7          /* (C) Copyright IBM Corp. 1997, 2005 All Rights Reserved           */
      8          /*                                                                  */
      9          /* US Government Users Restricted Rights - Use, duplication or      */
     10          /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.*/
     11          /*                                                                  */
     12          /********************************************************************/
     13
     14          DCL EXPARM1 FIXED BIN(31) INIT(5);
     15          DCL EXPARM2 FIXED BIN(31) INIT(2);
     16          DCL PARM2   FIXED BIN(31) INIT(2);
     17          DCL PLI01B EXTERNAL ENTRY;         /*                               */
     18  >       DO WHILE (EXPARM1 > 0);            /*  THIS DO LOOP EXECUTED 5 TIMES*/
     19  >          EXPARM1 = EXPARM1 -1;           /*                               */
     20 B>          CALL  PLI01B(PARM2);            /* PLI01B CALLED 5 TIMES         */
     21  >       END;
     22  >       IF (EXPARM2 = 0) THEN              /* THIS BRANCH ALWAYS TAKEN      */
     23  <         CALL PROC2A(EXPARM2);            /* PROC2A NEVER  CALLED          */
     24  >       DO WHILE (EXPARM2 > 0);            /* DO LOOP EXECUTED TWICE        */
     25  >         EXPARM2 = EXPARM2 - 1;
     26  >       END;
     27  >       RETURN;
     28
     29  <       PROC2A: PROCEDURE(P1PARM1);         /* THIS PROCEDURE NEVER EXECUTED */
     30          DCL P1PARM1 FIXED BIN(31);
     31  <       P1PARM1 = 10;
     32  <       END PROC2A;
     33 I>       END PLI01A;
 
                           Start  End
  Marker type   Selection  Column Column String
  ------------- ---------  ------ ------ ------------------------------
  SINGLE        INCLUDE         2     80 PLI01                         
  SINGLE        EXCLUDE         2     80 PLI01B                        
 
            Statements  Executed  Percentage
            ----------  --------  ----------
  Total             14        11       78.57
  Included           1         1      100.00
  Excluded           0         0        0.00
  Incl/Excl          1         1      100.00

Below is a sample of a presentation format annotated listing report for a C program. The format is similar to the other supported languages.

1Rpt Date :  2013/10/31      Rpt Time:   08:07:42                                               
                                                                                                
 Run Date :  2013/10/16      Run Time:   13:33:07                                               
 Group ID 1: COST            Group ID 2: BENEFIT         User ID:   USERIBM                      
 Load Name:  C01             Prog Name:  C01A                                                   
 Comp Date:  2013/05/07      Comp Time:  15:53:00   Debug override: N                           
 Tot Stmts:  12              Exec Stmts: 8               Percent:   66.66%                      
                                                                                                
 Rollup History:                                                                                
                                                                                                
 Observation is not part of rollup                                                              
                                                                                                
                *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
      1             main()                                                                      
      2          /********************************************************************/         
      3          /* Licensed Materials - Property of IBM                             */         
      4          /*                                                                  */         
      5          /* 5655-W70: Debug Tool for z/OS                                    */         
      6          /* Copyright IBM Corp. 1997, 2012 All Rights Reserved               */         
      7          /*                                                                  */         
      8          /* US Government Users Restricted Rights - Use, duplication or      */         
      9          /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.*/         
     10          /*                                                                  */         
     11          /********************************************************************/         
     12                                                                                         
     13             {                              /* DEFECT456BEGIN                 */         
     14 I>            int EXPARM1 = 5;                                                  PMR13579
     15 I>            int EXPARM2 = 2;                                                  PMR13579
     16               extern void C01B(void);                                                   
     17 I<            void PROCA(int);             /* function not called            */         
     18 B>            while (EXPARM1 > 0)          /* execute loop 5 times           */ PMR12345
     19               {                                                                         
     20 I>               EXPARM1 = EXPARM1 -1;                                                  
     21 I>               C01B();                   /* call C01B  5 times             */         
     22               }                                                                         
     23 I>            if (EXPARM2 == 0)            /* branch taken  DEFECT456END     */          
     24  <              PROCA(EXPARM2);            /* not executed                   */          
     25 I>            while (EXPARM2 > 0)          /* loop execute 2 times           */ PMR1     
     26  >              EXPARM2 = EXPARM2 - 1;     /* executed twice                 */          
     27             }                                                                            
     28  <          void PROCA(int P1PARM1)        /* function not called            */          
     29             {                                                                            
     30  <            P1PARM1 = 10;                /* not executed                   */          
     31             }                                                                            
                                                                                                 
                           Start  End                                                            
  Marker type   Selection  Column Column String                                                  
  ------------- ---------  ------ ------ ------------------------------                          
  SINGLE        INCLUDE        73     76 PMR1                                                    
  SINGLE        EXCLUDE        73     80 PMR12345                                                
  SECTIONBEGIN  INCLUDE         8     72 DEFECT456BEGIN                                          
  SECTIONEND    INCLUDE         8     72 DEFECT456END                                            
                                                                                                 
            Statements  Executed  Percentage                                                     
            ----------  --------  ----------                                                     
  Total             12         8       66.66                                                     
  Included           7         6       85.71                                                     
  Excluded           0         0        0.00                                                     
  Incl/Excl          1         1      100.00   

The following table shows the column layout for the source lines:

Table 1. The column layout for the source lines
Columns Contents
1 Blank.
2 through 7 6 digit listing line number, right justified, leading zeros suppressed.
9
If executable and not using E.1 (V)iew then:
  • 'I' included
  • 'E' excluded
  • 'B' both included and excluded
  • ' ' neither included nor excluded
If not executable or using E.1 (V)iew then:
  • ' '
10 through 15

1 column per statement on this line. For example, col 10 represents the 1st statement, column 11 represents the 2nd statement.

These columns indicate whether the statement was executed (>), unexecuted (<), unspecified ( ) or specified multiple times (M, which indicates that multiple disjoint sections of assembler code were generated for this statement).

Column 15 may contain a plus sign (+) if an executed or unexecuted tag value indicates a statement number that exceeds 6 for this line.

17 through 96 Source columns 1 - 80