TRON
TRON | |
Syntax: | TRON |
Parameter | |
Einordnung | |
Typ: | Befehl |
Kontext: | Fehlersuche |
Aufgabe: | Programmablaufverfolgung einschalten |
Abkürzung: | trO |
Token: | $d8 (216) |
Verwandte Befehle | |
TROFF |
Anmerkung: Dieser Artikel beschreibt den BASIC-Befehl TRON ab Commodore BASIC V3.5 oder höher.
Der Befehl TRON (engl. TRace ON) schaltet die Programmablaufverfolgung (engl. Tracing) ein.
Mit eingeschalteter Programmablaufverfolgung gibt der BASIC-Interpreter während der Abarbeitung des Programms vor dem Ausführen des aktuellen Programmzeilenteils (durch ":" getrennt) in eckigen Klammern die Zeilennummer, z.B. [100] (ohne Zeilenvorschub), auf dem Bildschirm bzw. am aktuellen Ausgabekanal aus. Dies erleichtert die Entwicklung von Basic-Programmen insofern, dass die Abarbeitung des Programms bzw. die Abfolge der verarbeiteten Zeilen genau verfolgt werden kann. Allerdings haben diesen zusätzlichen Ausgaben die Nebenwirkung, dass dadurch der Bildschirmaufbau bzw. die Daten am aktuellen Ausgabekanal durch die Zeilennummerinformation mitunter "gestört" werden.
Der Befehl kann sowohl im Direktmodus als auch in einem Programm verwendet werden. Das Einbinden in ein Programm erlaubt eine gezielte Steuerung der Ausgabe dieser Analyseinformation, beispielsweise um sie von bildschirmausgabe-dominierten Teilen fern zu halten oder nur interessante Programmteile oder Unterprogramme zu untersuchen.
Mit dem Befehl TROFF wird die Programmablaufverfolgung wieder ausgeschaltet.
Beispiel[Bearbeiten | Quelltext bearbeiten]
Selektive Verwendung von TRON/TROFF:
10 DIM B(255) 20 S$="WELCHER IST DOPPELT?" 100 PRINT S$ 110 GOSUB 200 120 PRINT "ERSTES DOPPELTE ZEICHEN:" 130 PRINT USING " #### #### POS:###&###";CHR$(F),F,B(F),I-256 199 END 200 REM ERSTES DOPPELTE ZEICHEN 201 TRON 210 FOR I=1 TO LEN(S$) über alle Zeichen 220 Z=ASC(MID$(S$,I,1)) PETSCII-Code 230 IF B(Z) THEN F=Z: I=I+255: GOTO 250 2. Mal gefunden! 240 B(Z)=I 1. Mal gefunden 250 NEXT I 259 TROFF:PRINT 260 RETURN
Die für die Analyse ergänzten Zeilen sind hervorgehoben.
Das Programm produziert folgende Ausgabe (ergänzender Kommentar kursiv):
WELCHER IST DOPPELT? [210][220][230][240][250][220][230][240] Schleifeneintritt, 1. Durchlauf [250][220][230][240][250][220][230][240] 2. Durchlauf (1. "E"), 3. Durchl. [250][220][230][240][250][220][230][230] 4. u. 5. Durchlauf, 6. Durchlauf [230][230][250][259] (2. "E") gefunden, mehrere Teile in Zeile 230! ERSTES DOPPELTE ZEICHEN: E 69 POS: 2& 6 READY.
AUTO | BACKUP | BOX | CHAR | CIRCLE | COLLECT | COLOR | COPY | DEC | DELETE | DIRECTORY | DLOAD | DO | DRAW | DS | DS$ | DSAVE | EL | ELSE | ER | ERR$ | EXIT | GETKEY | GRAPHIC | GSHAPE | HEADER | HELP | HEX$ | INSTR | JOY | KEY | LOCATE | LOOP | MONITOR | PAINT | PRINT USING | PUDEF | RCLR | RDOT | RENAME | RENUMBER | RESUME | RGR | RLUM | SCALE | SCNCLR | SCRATCH | SOUND | SSHAPE | TRAP | TROFF | TRON | UNTIL | VOL | WHILE