KLDBGSDBGSTARDBGTDBGSAVDBGEODBGCODBGSAVDBGTODBGLNDBGLNDBGPTDBGSAV y BFyyBASIC TRACE UTILITYyALAN FILIPSKI 1982 y"yFIND START OF STMNT TABLE$y%%6-F:A6,%AV$F:A7,&ySET ERR IN EACH STMNT(y BR*y' ( !(BASIC TRACE UTILITY'( ,y""(ENTER LINE NUMBER AT WHICH.y(EXECUTION IS TO START0y==((FIRST LINE IN PROG IS F:,%AV$F:%@,)2y4y//CLR ARRAYS IF STARTING AT FIRST STATEMENT6y))F:,%AV$F:%@,B88y((6-F:A6,%AV$F:A7,:yRESTORE DBGSTARTy$ (HOW MANY LINES TO TRACE $@yBdBy Dy))TRAP HERE AT EACH ERROR ENCOUNTEREDFy%%6-F:A6,%AV$F:A7,Hy F:A,"@BTJyUNEXPECTED ERROR TYPELyPF( ERR TYPE F:A, AT LINE F:A,%AV$F:A,P BdNy!BrPy(HOW MANY MORE RyTy!BrVyTIME TO QUIT. REMOVE ERRSXy BZy( TRACE ABORTED\y&^y33REINTRODUCE ERR INTO CLEARED "FOR" OR "GOSUB"`y"Bby* 6-%*F:%@,"@UBdy6-%F:%@,&@fy6-%@hyF:,%F:,jy@Uly22REINTRODUCE ERR INTO LAST STATEMENT EXECUTEDny* 6-%*F:%@,"@UBpy6-%F:%@,&@ry6-%@tyF:,%F:,vy@Uxy66CLEAR ERR FROM "FOR" OR "GOSUB" ON TOP OF RUNSTKzy6-|y99F:AB,"F:AD,*F:AC,"F:AE,B~y%%6-F:AD,%AV$F:AE,y6-F:&@,y6-F:&@,y Bvy 6-&y77FIND STATEMENT WHICH TRIGGERED TRAP AND CLEAR ERRy6-F:A,y6-F:A,y Bvy 6-&yGG* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *y''INSERT USER PRINT STATEMENTS HEREyGG* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *yLIST TRAPPED STMNTyF:,%AV$F:%@,y B BFy6-&@y33IF STMNT IS END OR STOP, CLEAR ALL STATEMENTSy9/F:%@,"@!)F:%@,"@89 ByEXECUTE STATEMENTy F:,%F:%@,$AVyySUB TO SET ERRSy\\SET COMMAND TOKEN IN ALL USER STATEMENTS (EXCEPT DATA STATEMENTS) TO 55 (=ERROR)y>>SAVE ORIGINAL USER COMMAND BY ADDING TO END-OF-LINE BYTEy 6-y77F:%@,"@U)F:%@,"@Bdy6-%F:%@,&@y6-%@yF:,%F:,y@Uy6-%F:%@,y//F:,%AV$F:%@, BBTy$yy^^SUBROUTINE TO FIND STMNT AND REMOVE ERR. 2-BYTE LINE NO. EXPECTED IN DBGLN1 AND DBGLN2y((PTR TO LINE IS RETURNED IN DBGPTR.y 6-y##"F:,*"F:%@,By6-%F:%@,y BxyREMOVE ERRyF:%@,@U$y6-%F:%@,&@y6-%@yF:,!AByF:,&@"y@"y$yF:,&AUyAUy$yy$$SUBROUTINE TO CLEAR ALL ERRORSyy 6-6-y""F:%@,@UB(y,6-%F:%@,&@,6-%@yF:,!AB&y!!NON-REM LINE HAS 22 FOR EOLy*F:,&@" @"* B(yREM LINE HAS 155 FOR EOLy F:,&AU AUy6-%F:%@,y//F:,%AV$F:%@, BBz 6-z$ D2:TRACE.BAS