home *** CD-ROM | disk | FTP | other *** search
- MODULE TestPrg;
- (*-------------------------------------------------------*
- * Dieses Modul testet die Funktion des Debuggers und *
- * bricht mit einer Fehlermeldung ab. Es dient ferner *
- * als Demonstration zur Verwendung der hier implemen- *
- * tierten Debuggerfunktionen. *
- * Die Datei TESTBUG.BUG enthält die Fehlerinformation. *
- * (C) 1988 Frank F. Wachtmeister & PASCAL International *
- *-------------------------------------------------------*)
-
- FROM Debugger IMPORT Error, InitDebugger, Activate, Into,
- Leaving, Message, ShowByte, ShowWord,
- ShowLong;
- FROM TextIO IMPORT WriteString, WriteLn, Read;
-
- CONST
- DEBUG = TRUE;
-
- TYPE
- SmallSet = SET OF [0..7];
-
- VAR c : CARDINAL;
- i : INTEGER;
- ch: CHAR;
- r : REAL;
- s : SmallSet;
- b : BOOLEAN;
- lc: LONGCARD;
-
- PROCEDURE Dummy1;
- BEGIN
- IF DEBUG THEN Into ('Dummy1') END;
- (* Rumpf *)
- IF DEBUG THEN Leaving ('Dummy1') END;
- END Dummy1;
-
- PROCEDURE Dummy2;
- BEGIN
- IF DEBUG THEN Into ('Dummy2') END;
- Dummy1;
- IF DEBUG THEN Leaving ('Dummy2') END;
- END Dummy2;
-
- PROCEDURE InitSet (VAR s: SmallSet);
- BEGIN
- IF DEBUG THEN Into ('InitSet') END;
- s := SmallSet {};
- INCL (s, 1); INCL (s,3); INCL (s,5); INCL (s,7);
- Dummy2;
- IF DEBUG THEN Leaving ('InitSet') END;
- END InitSet;
-
- BEGIN
- InitDebugger ('TESTBUG.BUG');
- Message ('c := 54321');
- c:=54321; ShowWord ('c',c);
- Message ('i := -4567');
- i:=-4567; ShowWord ('i',i);
- Message ('ch := "#"');
- ch:='#'; ShowByte ('ch',ch);
- Message ('b := TRUE');
- b:=TRUE; ShowByte ('b',b);
- Message ('r := -12.3E-03');
- r:=-12.3E-03; ShowLong ('r',r);
- Message ('lc := 256000');
- lc:=256000; ShowLong ('lc',lc);
- Message ('Initialisierung des Sets s');
- InitSet (s);
- ShowByte ('s',s);
- WriteString ('ACHTUNG: Programmabbruch ist gewollt !');
- WriteLn;
- WriteString ('Bitte Taste drücken und Datei');
- WriteString (' TESTBUG.BUG ansehen...');
- Read (ch);
- r:=0.0;
- r:=r/r; (* Programmfehler: r=0 *)
- WriteString ('Wenn dies kommt, dann stimmt was nicht');
- Read (ch);
- Activate (FALSE);
- (* Schließt die Debuggerdatei am Programmende *)
- END TestPrg.