Wednesday, February 01, 2006

XPEDITER TSO Overview

XPEDITER/TSO Overview
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

     XPEDITER/TSO is a debugging and testing tool that automates the tasks of
    identifying problems, applying solutions, analyzing the impacts of
    changes, and testing the fixes.


1.1 Changes for This Release
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


    *   Batch Connect Facility Enhancements

        DB2 and DB2/DLI JCL statements that previously required manual changes
        are now automatically converted for submitting a job in batch connect
        mode.  Three new commands have also been added to further enhance JCL
        conversion, submitting the job, and connecting to the job.

    *   Abend-AID Integration

        Enhances XPEDITER's fault diagnosis function by providing a direct
        connection to Abend-AID during an XPEDITER/TSO test session.
        Abend-AID analyzes the abend and XPEDITER/TSO displays the information
        in a report formatted by Abend-AID.

    *   COBOL/370 Compatibility

        Provides support for IBM's newest COBOL release--COBOL/370.

    *   Test Case Facility (TCF) Support

        Automatically collects the data read by the program during an
        XPEDITER/TSO test session.  With Compuware's File-AID/PC product, the
        collected data can be downloaded, browsed and edited, and used for
        testing on the workstation.

    *   User Interface Enhancements

        Further refinement of XPEDITER screens, commands, and functions.

    *   Performance Improvement

        Access to the source code display is now faster than ever.

    *   Documentation Changes

        XPEDITER/TSO and XPEDITER/IMS documentation has been updated to
        include information about the installation and use of the above
        features.

1.2 Changes for the Previous Release
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


    *   Product Integration

        XPEDITER/TSO has been integrated with File-AID for DB2, Compuware's
        easy to use DB2 database management and SQL development and analysis
        tool.  To use the integrated product, you must be licensed for
        XPEDITER for DB2 Extension and File-AID for DB2.  The (FADB2) option
        was added to the Primary Menu for direct access to File-AID for DB2.
        You can also access File-AID for DB2 from within an XPEDITER/TSO
        debugging session.

    *   Batch Connect Facility

        With this feature, you can submit an XPEDITER/TSO debugging session as
        a Batch Connect job allowing you to interactively connect to a batch
        job.

    *   Sourceless Debugging

        XPEDITER/TSO now allows you to test and debug programs that do not
        have the source (no SIR records) available.  The new AT command can be
        used to set breakpoints in sourceless programs.

    *   Profile Handling Enhancement

        This feature provides a flexible and easy to use method for using and
        maintaining multiple profiles.  Multiple profiles are useful since
        some of the data you see during an XPEDITER/TSO debugging session
        depends on the values in the current profile.  This includes
        installation defaults established by your system programming staff,
        and most importantly, environment parameters and SETUP options for the
        current debugging session.

    *   Single Point of Entry

        This feature lets you access a CICS region from a Primary Menu option
        without logging off the TSO session.  Pressing a PF key returns you to
        TSO.

    *   Programmer Command Center Results Interface

        For Programmer Command Center customers, XPEDITER offers a results
        interface that notifies you of the status of your Batch Connect jobs.

    *   Documentation Changes

        The XPEDITER/TSO and XPEDITER/IMS documentation has been updated to
        include information about the installation and use of XPEDITER for DB2
        Extension and File-AID for DB2, Profile handling, and the VTAM Batch
        Connect facility.

1.3 Overview
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


    When you run your program under interactive XPEDITER/TSO, the source code
    is displayed in a fully scrollable window where you can view the inner
    workings of the program as each statement is executed.  For instance, you
    can see the execution arrow moving from a PERFORM statement to the actual
    out-of-line perform paragraph, or you can see a data identifier changing
    its value as the MOVE, INITIALIZE, STRING, or COMPUTE statements are
    executed.

    Figure 1-1 shows the source display screen under XPEDITER/TSO.  All
    debugging and testing functions are accessible from this screen without
    having to exit to a separate panel.

    XPEDITER/TSO does not require any source code or load module changes;
    however, you need to create a "symbolic" information dataset called the
    Shared Information Repository (SIR) to debug at the source level.  The SIR
    records are created during the compile step after the compiler generates
    the compiler listing.  The SIR processor analyzes the listing information
    and outputs the SIR records into a PDS file.  XPEDITER/TSO displays and
    processes the SIR source records during the testing session.

    |----------------------------------------------------------------------------------|
    |                                                                                  |
    | ------------------------------ XPEDITER/TSO - SOURCE ----------------------------|
    | COMMAND ===>                                                     SCROLL===> CSR  |
    |                       Before Breakpoint Encountered                              |
    | ------   ------------------------------------------------------ Before TRIMAIN --|
    | =====> B PROCEDURE DIVISION.                                                     |
    | 000035   MAIN-PARA.                                                              |
    | 000036       PERFORM INIT-PARA.                                                  |
    | 000037       PERFORM ANALYZE-NEXT-REC                                            |
    | 000038           UNTIL OUT-OF-RECS = 'Y'.                                        |
    | 000039       PERFORM ENDING-PARA.                                                |
    | 000040 A     GOBACK.                                                             |
    | 000041   INIT-PARA.                                                              |
    | 000042       MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).           |
    | 000043       OPEN INPUT INFILE.                                                  |
    | 000044       MOVE 'N' TO OUT-OF-RECS.                                            |
    | 000045   ANALYZE-NEXT-REC.                                                       |
    | 000046       READ INFILE INTO WORK-REC                                           |
    | 000047          AT END                                                           |
    | 000048          MOVE 'Y' TO OUT-OF-RECS.                                         |
    | 000049       IF OUT-OF-RECS = 'N'                                                |
    | 000050          MOVE ZERO TO TRIANGLE-TYPE                                       |
    | 000051          CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE                       |
    | 000052          SET TX TO TRIANGLE-TYPE                                          |
    | 000053          ADD 1 TO N-CNTR (TX).                                            |
    |                                                                                  |
    |----------------------------------------------------------------------------------|

    Figure  1-1. Source Display Screen Under XPEDITER/TSO


1.3.1 Major XPEDITER/TSO Debugging and Testing Features
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


    The capabilities of XPEDITER/TSO are extensive enough to assist the power
    programmers' needs, and yet the implementation is simple and efficient to
    curtail the learning curve that novice programmers generally experience.
    The following list summarizes XPEDITER/TSO's major features:

    *   Intercept application program abends.

         XPEDITER/TSO detects application abends before the offending
        instruction is executed and displays a diagnostic message.  You can
        request an Abend-AID formatted report if you have Abend-AID Release
        6.1.4 or higher or you can view the log for more information.  If the
        problem is a recoverable error, you can fix the error dynamically and
        resume execution.

    *   Start or stop execution at any point.

         You can set conditional or unconditional breakpoints, so you can stop
        and figure out what the program has processed so far, and what the
        consequences of any changes could be.  You can also step through code
        line-by-line to understand how each statement affects the program.

    *   Display and modify variable, register, and storage contents.

         You can view the variable contents and alter the values as if the
        program had actually moved in the value you requested.  Tables can be
        displayed by dimension, and you can browse through each entry by
        incrementing and decrementing the index or subscript.  General-purpose
        registers and memory can be displayed in a Keep window to analyze the
        problem at the lower level.

    *   Trace logic flow.

         Statements can be highlighted to identify the execution path as
        XPEDITER/TSO traces through the program.  You can control the speed of
        the execution so that you can follow the logic interactively at a
        speed that best suits you.

    *   Logically review execution in the reverse direction.

         XPEDITER/TSO can display the execution history in the reverse
        direction to allow you to review the execution path with associated
        data values.  The execution arrow moves backwards, and the data
        display shows the original values.

    *   Monitor execution coverage.

         You can set counters on statements to test execution coverage or to
        monitor loops and procedure calls for optimization.

    *   Alter logic.

        You can dynamically change the control flow by modifying the data
        values or by forcing a wild branch to test an alternate path.

    *   Bypass unwanted code.

         A range of statements or programs can be skipped in lieu of providing
        program stubs.

    *   Temporarily insert XPEDITER/TSO debugging statements.

         You can imbed XPEDITER/TSO commands to control debugging conditions
        to take place at a certain location, and to force data and logic
        changes.  This feature lets you prototype some COBOL-like constructs.
        If you have XPEDITER for DB2 Extension and File-AID for DB2, you can
        also insert SQL statements.

    *   Analyze program structure and data flow.

         XPEDITER/TSO identifies certain COBOL program structures
        (conditionals, branches, I/Os, statements that alter data values,
        etc.) by highlighting the applicable statements when requested.  Also,
        statements that make references (MODIFY or USE) to a particular data
        item can be identified.

    *   Display file status and DCBs.

         VSAM file status and last I/O operation can be retrieved through
        XPEDITER/TSO.  DCB information can also be checked in the case of I/O
        error.  When a DD statement is not preallocated, XPEDITER/TSO
        intercepts execution and gives you an opportunity to allocate the
        missing files before resuming execution.

    *   Display called module stacking.

         The called module configuration such as the load address, entry
        point, size, attribute, AMODE, RMODE, and language can be retrieved.

    *   Maintain multiple profiles.

        XPEDITER/TSO's Profile Handling facility provides a flexible and
        easy-to-use method for using and maintaining multiple profiles.
        Multiple profiles are used because some of the data you see during an
        XPEDITER/TSO debugging session depends on the current profile.  This
        includes installation defaults established by your system programming
        staff, and most importantly, environment parameters and SETUP options
        for the debugging session.

    *   Interactively connect to a batch job.

        The Batch Connect facility enables you to run an XPEDITER/TSO
        debugging session in batch and interactively connect to the batch job.

    *   Optionally run in unattended batch mode.

        XPEDITER/TSO can be submitted as a batch job to debug programs that
        require large region size, a tape input, or multiple job steps that
        process files.  Command stream is read as input, and any functions
        that require terminal interaction do not pause but write to the log
        indicating that the functions were performed.

1.3.2 XPEDITER/TSO Execution Operating Modes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


     XPEDITER/TSO can be used in three ways:

    1.  In interactive mode.

         The chief advantage of using XPEDITER/TSO interactively is the
        ability to "pause" and resume execution of your program throughout a
        debugging session.  Interactive mode is preferable to batch mode
        testing when you have a specific problem for which you want to
        dynamically try out a solution.

    2.  In unattended batch mode.

         During a batch session, you cannot interact with the XPEDITER/TSO
        debugging session from your terminal.  In batch mode, XPEDITER/TSO
        receives its input from a test script file and writes to the log file.

        Some reasons for using batch mode testing are the following:

        *   Uses less processor resources than debugging in interactive mode.

        *   Allows testing of programs that require tape files.

        *   Executes long running programs and programs that perform many I/O
            operations in the background.

        *   Tests a job stream that has multiple job steps.

        *   Collects execution coverage and regression testing results.

    3.  In Batch Connect Mode.

        You can submit an XPEDITER/TSO session through the Batch Connect
        facility to run the job in batch and interactively connect to that
        batch job.  The source is displayed allowing you to interactively set
        breakpoints, display and modify variables, etc..

1.3.3 Primary Input to XPEDITER/TSO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


    The primary input to XPEDITER/TSO is the following:


    1.  Shared Information Repository (SIR) data library.

    2.  Load libraries containing the module(s) to be tested and debugged.

        Note:   The SIR data library and your load libraries are the output of
        the compile and link process discussed in "Compiling With the SIR
        Processor" in topic 4.2.

    3.  JCL, file list, or CLIST that can be processed to allocate the input
        files or databases needed by your program.

    4.  Optionally, a test script library.

1.3.4 Output From the Execution of XPEDITER/TSO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


    The primary output of the debugging session is:


    1.  Data files generated by the execution of the program.

    2.  Session log.

         XPEDITER/TSO automatically records (to the log file) the commands
        entered and the responses made to each command during a debugging
        session.  The log dataset can have an LRECL of 133 or 80.  The log
        does not contain the interactive manipulation commands nor does it
        contain the actual program displays.

         In batch mode, the log file shows the output of a batch test and is
        available after the completion of the debugging session.  In
        interactive mode, it is available at all times.

        The log file can be kept as part of the documentation, to be
        referenced whenever maintenance is performed on the program.  It can
        be viewed for further information in determining the cause and
        possible resolution of an abend.  Chapter 8, "Handling Run-Time
        Errors" in topic 8.0 contains an example of the log display and shows
        what is recorded in the log as a result of a S0C7 abend.

    3.  Session script, which can be saved as a member of a test script
        library.

         XPEDITER/TSO automatically records the commands entered to a
        sequential test script file.  After the session is terminated, you can
        save, copy, or move the generated test script to a member of a test
        script library (INCLUDE dataset), which can then be used as input to
        another debugging session.

        Test scripts can be used to set up, run, or rerun a session.  They are
        used to gather information at the close of a session (a post script),
        and in batch mode, to specify a series of commands to be executed when
        an abend occurs (abend script).  It is also used to store any
        customization made to XPEDITER/TSO or shop defaults.

1.3.5 LOGON Region Size Requirements
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


     Debugging with XPEDITER/TSO may require an increase to the default TSO
    LOGON region size.  This provides protection against abends caused by
    insufficient space.

    XPEDITER/TSO requires about 640K bytes minimum, in addition to the
    application programs to be tested and debugged.  Additional storage could
    be required, depending on the number and size of the programs that are
    referenced symbolically during the debugging session.

    It has been our experience that 2048K to 4096K (2M to 4M) is sufficient
    size for debugging most applications.

1.4 Restrictions and Warnings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


    The following list explains some of the technical restrictions and
    questions related to the functioning of XPEDITER/TSO:

    Attention (User Interrupt--PA1 Key) Processing:

    Depending on the timing in your use of the PA1 key/user interrupt from
    within XPEDITER/TSO, the result can be a recursive abend.

    Multitasking Support:

    Compuware does not support multitasking applications within XPEDITER/TSO,
    except in the dialog environment, where single task testing is supported
    within a multitasking environment.

    Optimized Code:

    XPEDITER/TSO displays the source for optimized code as it was originally
    written, but executes the code generated by the optimizer.  As a result,
    depending on the optimizing algorithm applied to the code, the following
    can occur:

    *   Highlighting during execution of the trace of the optimized code can
        be misleading.

    *   Abends can occur when you use XPEDITER/TSO commands that alter the
        program execution paths, such as GOTO and SKIP.  These abends occur
        when the altered execution paths are in conflict with path
        dependencies generated by the optimizer.

    *   If you have used Copy Suppress in the Procedure Division you might not
        be able to set a breakpoint on the first statement following the
        copied code.

    IMS Testing:

    *   Retention of breakpoints across IMS transactions is not supported.

    *   Transactions specified on the test MPP screen are queued up to run in
        the XPEDITER/TSO region regardless of where the transactions were
        initiated.  XPEDITER/TSO assigns a unique class to each of the
        specified transaction codes and forces them to run only in your
        XPEDITER/TSO region.  The transaction codes are not reassigned to
        their original class until you have completely finished testing in the
        MPP region.

    *   If a DLI program uses the XRST facility, the first DLI call must be
        the XRST call.  Otherwise, you can cause an abend 04E with reason code
        00D44054.

    *   Within a BTS/DLI setup, recovery of DB2 tables and IMS databases are
        uncoordinated.  An SQL COMMIT/ROLLBACK call commits or rolls back
        changes made to DB2 tables only, not your IMS databases.

    *   Customers who are experiencing system abends while using the BTS TRACE
        to monitor DB2 activity should check with IBM for fixes available for
        the BTS program product.  Problems have occurred in MVS/XA IMS 1.3 and
        BTS 1.3, as well as MVS/ESA IMS 3.1 and BTS 3.1.

    MVS/ESA Support:

    For assembler programs, all ESA instructions are supported except the
    instructions that use the access registers.
    Naming Convention:

    Program names should not begin with IBM reserved prefixes such as IHO,
    ILBO, IGZ, etc.

    COBOL Ready Trace:

    Unpredictable results can occur in XPEDITER/TSO when the COBOL READY TRACE
    command is used.

    Memory Allocations:

    User programs and other vendor packages that perform FREEMAINs on
    subpool=0 or subpool=3 are not supported.

    COBOL Declaratives Section:

    Breakpoints or GOTOs in the Declaratives Section are not supported.

2.0 Chapter 2.  User Interface to XPEDITER/TSO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    This chapter describes how to interact with XPEDITER/TSO in general.  The
    screen format, PF key assignments, command processing, HELP, and tutorial
    are discussed.

0 Comments:

Post a Comment

<< Home