| Vroom |
| RTP Series - RTP5 |
| VERBatim - V15 |
| Play it Again, Cam |
| QTIPS - BASIC Options |
| Utility Diskette # 4 |
| RTP Series - RTP50 |
| @ATTACK - @Messages |
| Advanced Revelation Initialisation Sequence (Overview) by Mike Pope |
| Caching in on the Frames Array - Mike Pope |
| Reader's Clinic - Different Id Same Record |
| RTP Series - RTP25 |
| QTIPS - String Space |
| Reader's Letters - Jim Owen |
| QTIPS - Finding/Replacing Spaces With The Editor |
| RTP Series - RTP25 |
| RTP Series - RTP27 |
| QTIPS - Printing Large Variables from the Debugger |
| VERBatim - V87 |
| @ATTACK - @TCL.Stack |
| Reader's Clinic - Screen Width |
| Screen Grabber |
| Reader's Clinic - Slow Multivalued Screen Display |
| Utility Diskette # 4 |
| SecureUser |
| VERBatim - V25 |
| @ATTACK - @Files.System |
| Advanced Revelation Initialisation Sequence (Overview) by Mike Pope |
| REVMEDIA Revisted |
| Reader's Clinic - Functions and Subroutines |
| Argument passing - Subroutines and Functions - Mike Pope |
| RTP Series - RTP18 |
| RTP Series - RTP18.english |
| VERBatim - V39 |
| Advanced Revelation Initialisation Sequence (Overview) by Mike Pope |
| REVMEDIA Revisited |
| Reader's Clinic - Line Length > 256 Characters |
| QTIPS - String Space |
| QTIPS - String Space Format Errors |
| Reader's Forum - Numeric Precision in R/Basic - Hal Wyman |
RevMedia FKB
| Document | V1I3A6 |
| Title | RTP Series - RTP25 |
| Keywords | RTP25 DEBUGGER LINEMARK STACK SPACE LOCK UNLOCK SO SY |
| Text | The main debugger controller program The debugger itself is actually two programs RTP25 (which handles the basic DEBUGGING functions and takes little memory space on the stack) and DEBUGGER which is a much larger program which handles all of the complicated DEBUGGING logic (Because of this it is only paged onto the stack when required) The following documentation does not differentiate between RTP25 and DEBUGGER RTP25 is invoked at the first linemark opcode in a compiled program when break key status is on As linemarks are generated by the compiler when it comes to an @FM or a LINEMARK STATEMENT the debugger cannot be used on symbolics (No @FMs!) Due to the new "Windowing" functionality of AREV it can sometimes be difficult to see what the program was doing before it entered the debugger To review the state of the screen just before the debugger was invoked enter S at the ! prompt This will display the screen image as it was and then wait for a key to be pressed to return to the debugger When a program breaks in a system subroutine the break message does not indicate what subroutine was CALLING the system subroutine This is fine when you are test running a single program and know what the problem is but when you are testing a suite of programs and the problem could be in any one of a number of subroutines it can be very inconvenient For EXAMPLE in one of your programs you may make the following call to MSG without assigning ANS first CALL MSG("Yes" "RC" ANS "") This would crash WITH a "SCRIBE line 1 broke because " message To find out what programs have been called to reach the breakpoint enter R at the ! prompt and the subroutine return stack will be displayed In the above example RTP25 SCRIBE (prompt for input) MSG (message processor) TEST (our program) RTP18 (RTPSeries Passim) TCL CATALYST WINDOW RTP18 RTP2 If string space availability is a contentious issue WITH you when developing programs the ability to STOP a program and see how much memory is currently in use is a must This is achieved USING the # COMMAND Typing # at the ! prompt returns a message similar to the following !# Statistics AFTER Garbage Collect There are 1399 descriptors used There are 199548 bytes of string space free The PROGRAMS ARRAY consumes 104123 bytes of memory If you routinely separate your OBJECT CODE FROM your SOURCE code and symbol table then you will realise that when DEBUGGING you cannot access your variables by NAME To get around this problem use the undocumented SY command Enter SY FILENAME recordname and the debugger will load the Symbol table FROM the FILE recordname combination given Whilst working on a program in a networked ENVIRONMENT you may wish to lock it so as to prevent others FROM making amendments To do this enter LOCK filename recordname or to LOCK the entire file enter L O C K filename To unlock these locks enter the documented UNLOCK filename recordname or UNLOCK ALL Be aware that in the basic RTP25 debugger entering O is synonymous with entering O F F so be careful not to slip until DEBUGGER is invoked! If you have not already DONE so it is worth becoming familiar WITH the SO and S T COMMANDS documented in the "Advanced Revelation Technical Reference Manual" (Volume 1 Issue 3 Pages 6 7) |
Page last modified: 08/02/03