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