home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 04 / debg_mod / testbug.mod < prev   
Encoding:
Text File  |  1988-01-27  |  2.2 KB  |  82 lines

  1. MODULE TestPrg;
  2. (*-------------------------------------------------------*
  3.  * Dieses Modul testet die Funktion des Debuggers und    *
  4.  * bricht mit einer Fehlermeldung ab. Es dient ferner    *
  5.  * als Demonstration zur Verwendung der hier implemen-   *
  6.  * tierten Debuggerfunktionen.                           *
  7.  * Die Datei TESTBUG.BUG enthält die Fehlerinformation.  *
  8.  * (C) 1988 Frank F. Wachtmeister & PASCAL International *
  9.  *-------------------------------------------------------*)
  10.  
  11. FROM Debugger IMPORT Error, InitDebugger, Activate, Into,
  12.                      Leaving, Message, ShowByte, ShowWord,
  13.                      ShowLong;
  14. FROM TextIO   IMPORT WriteString, WriteLn, Read;
  15.  
  16. CONST
  17.    DEBUG = TRUE;
  18.  
  19. TYPE
  20.    SmallSet = SET OF [0..7];
  21.  
  22. VAR c : CARDINAL;
  23.     i : INTEGER;
  24.     ch: CHAR;
  25.     r : REAL;
  26.     s : SmallSet;
  27.     b : BOOLEAN;
  28.     lc: LONGCARD;
  29.  
  30. PROCEDURE Dummy1;
  31. BEGIN
  32.    IF DEBUG THEN Into ('Dummy1') END;
  33.    (* Rumpf *)
  34.    IF DEBUG THEN Leaving ('Dummy1') END;
  35. END Dummy1;
  36.  
  37. PROCEDURE Dummy2;
  38. BEGIN
  39.    IF DEBUG THEN Into ('Dummy2') END;
  40.    Dummy1;
  41.    IF DEBUG THEN Leaving ('Dummy2') END;
  42. END Dummy2;
  43.  
  44. PROCEDURE InitSet (VAR s: SmallSet);
  45. BEGIN
  46.    IF DEBUG THEN Into ('InitSet') END;
  47.    s := SmallSet {};
  48.    INCL (s, 1); INCL (s,3); INCL (s,5); INCL (s,7);
  49.    Dummy2;
  50.    IF DEBUG THEN Leaving ('InitSet') END;
  51. END InitSet;
  52.  
  53. BEGIN
  54.    InitDebugger ('TESTBUG.BUG');
  55.    Message ('c := 54321');
  56.    c:=54321; ShowWord ('c',c);
  57.    Message ('i := -4567');
  58.    i:=-4567; ShowWord ('i',i);
  59.    Message ('ch := "#"');
  60.    ch:='#';  ShowByte ('ch',ch);
  61.    Message ('b := TRUE');
  62.    b:=TRUE; ShowByte ('b',b);
  63.    Message ('r := -12.3E-03');
  64.    r:=-12.3E-03; ShowLong ('r',r);
  65.    Message ('lc := 256000');
  66.    lc:=256000; ShowLong ('lc',lc);
  67.    Message ('Initialisierung des Sets s');
  68.    InitSet (s);
  69.    ShowByte ('s',s);
  70.    WriteString ('ACHTUNG: Programmabbruch ist gewollt !');
  71.    WriteLn;
  72.    WriteString ('Bitte Taste drücken und Datei');
  73.    WriteString (' TESTBUG.BUG ansehen...');
  74.    Read (ch);
  75.    r:=0.0;
  76.    r:=r/r;   (* Programmfehler: r=0 *)
  77.    WriteString ('Wenn dies kommt, dann stimmt was nicht');
  78.    Read (ch);
  79.    Activate (FALSE);
  80.            (* Schließt die Debuggerdatei am Programmende *)
  81. END TestPrg.
  82.