Features: Error Audit Option

Debugging run-time errors in User Language requests in a production environment can be a frustrating and time consuming process. Faced with a run-time error message that doesn't identify the offending program statement, it's quite difficult to determine the cause. Without quick access to the proper information even simple bugs can take hours to locate and fix.

The SoftSpy Audit option provides the detailed information required to quickly and efficiently pinpoint the precise cause of a run-time problem. This transforms debugging from an art into a science. It becomes straightforward to track down a problem when appropriate information is available. Productivity of both junior and senior level staff members is increased tremendously.

SoftSpy users routinely report solving problems in minutes rather than the hours they believe it would have taken without SoftSpy.

Run-time Errors

With the SoftSpy Audit feature enabled in your production environment, additional audit messages are produced when an error occurs during the evaluation of a User Language request. These messages identify the exact location that the error occurred within the request. Using this information in conjunction with the SoftSpy Audit environment you are quickly able to locate the statement causing the problem.

The sample below shows a segment of a Model 204 audit trail containing a typical divide by zero run-time error with the additional SoftSpy Audit information.

98201110604 27  3   0 MS      ***  M204.1168: INCLUDE TESN.LOGIN
98201110604 28  3   0 ST $$$ USERID='USERZERO  ' ACCOUNT='USERZERO  ' LAST='CMPL' SUBSYSTEM='DEMO  ' PROC-FILE='AEYPROC'
98201110604 29  3   0 XX PROC='TESN.LOGIN' NTBL=5 QTBL=17 STBL=73 VTBL=10 PDL=620 CPU=2 PCPU=666 RQTM=3 DKPR=21
98201110604 30  3   0 ER            ***  SPY>>> Runtime Procedure Error in Subsystem: DEMO       Procfile: AEYPROC
98201110604 31  3   0 ER            ***  SPY>>> Procedure: TESN.LOGIN
98201110604 32  3   0 ER            ***  SPY>>> QTBL quad offset: 188
98201110604 33  3   0 ER            ***  SPY>>> Call issued from QTBL quad offset: 68
98201110604 34  3   0 ER            ***  SPY>>> Call issued from QTBL quad offset: 0
98201110604 35  3   0 MS      ***  M204.0554: DIVIDE BY ZERO
98201110604 36  3   0 ST $$$ USERID='USERZERO  ' ACCOUNT='USERZERO  ' LAST='EVAL' SUBSYSTEM='DEMO  ' PROC-FILE='AEYPROC'
98201110604 37  3   0 XX PROC='TESN.LOGIN' NTBL=5 GTBL=345 QTBL=17 STBL=73 VTBL=10 PDL=620 CPU=2 OUT=1 PCPU=2000 RQTM=1

The sample screen below shows the program that caused the divide by zero error above using the SoftSpy Audit environment. In the Audit environment you can quickly identify the statement that caused the problem.

	12 of 16  Next 1            SoftSpy for Model 204        01 AUG 1998 12:00:00
IN AEYPROC I TESN.LOGIN                                        SUBSYSTEM DEMO
=============================================================================
            CMPL
       NEST QTBL
==            20     CALL MAIN                    ----------MONITOR----------
==            52     %X = $SETG('NEXT','EXIT')    -                         -
==            52                                  -                         -
== /-------   68 MAIN: SUBROUTINE                 -                         -
== |          88     CALL DIVIDE.LOOP             -                         -
== \-------   96 END SUBROUTINE MAIN              -                         -
==            96                                  -                         -
== /-------  112 DIVIDE.LOOP: SUBROUTINE          -                         -
== |/------  172    FOR %I FROM 10 TO 0 BY -1     -                         -
=> ||        220        %J = 10 / %I              -                         -
== |\------  224    END FOR                       -                         -
== \-------  232 END SUBROUTINE DIVIDE.LOOP       ---------------------------
==           232
==           276 END
=>
QUAD OFFSET 188 IS WITHIN THE HIGHLIGHTED LINE
 1=HELP       2=WINDOW     3=QUIT       4=STEP       5=GO         6=BREAK
 7=BACKWARD   8=FORWARD    9=REPEAT    10=WATCH     11=QUAD      12=RETRIEVE

Option Features

The audit error option provides a number of features that augment the basic SoftSpy environment to provide a robust run-time error debugging environment.

Commands

  • Establish the interactive audit error environment.
  • Enable and disable auditing additional debugging information when SoftSpy is not in use.
  • Display the User Language line causing a run-time error by utilizing SoftSpy audit information.

SoftSpy Data

Information about the following types of operands is provided:

  • Quad offset of the statement causing a run-time error.

Other SoftSpy Features: Interactive Debugging Option | Quality Assurance Testing Option | Interactive Performance Tuning Option