DMErr 1.2 =============== © 1988 by Fridtjof Siebert Nobileweg 67 D-7000 Stuttgart 40 Update-Liste: 1.1: - läuft einwandfrei von der Workbench ! - M2.errs und DME.refs werden in s: gespeichert - DME wird ein korrekter Pfadname übergeben. - kann jetzt mit Ctrl & C bzw. Close-Gadget abgebrochen werden. - In der Datei DMErr.erdc wird `Assign t: ram:' nicht mehr aufgerufen, da dies beim Starten von der WorkBench zum Absturz führt. - Der Quelltext muß nicht mehr im aktuellen Directory stehen. 1.2: - läuft nun mit M2Amiga 3.2. - Fehlermeldungen mit Strings (zB. Fehlender Prozedurrumpf xxx) werden nun korrekt angezeigt. - beim Aufruf von CLI kann die Endung .mod weggelassen werden - Fehlermeldungen werden jetzt in t:M2.errs statt s:M2.errs gespeichert. Programmbeschreibung: Mit diesem Programm ist es möglich, M2Amiga-Fehlerlisten auch mit Mathew Dillon's Editor DME, der auf verschiedenen Public-Domain Disketten zu bekommen ist, zu betrachten. Es ist dazu mindestens die Version 1.28d nötig, da die Fehler mit der in dieser Version neu hinzugekommenen Funktion REF angezeigt werden. Usage: DMErr [-] Source ist der Name des fehlerhaften Modula-Quelltextes. In dem Quelltext werden die Fehlerhaften stellen markiert. Außerdem erzeugt DMErr die Datei s:DME.refs, die die Fehlermarkierungen enthält und DME anzeigt, wo die Fehlermeldungen stehen. Diese werden in die Datei s:M2.errs geschrieben. Nach dem Markieren der Fehler wird der DME mit `RUN DME Source' gestartet. Die Commandos RUN und DME müssen also im aktuellem, oder in einem mit PATH angegebenen Directory stehen. Das hört sich jetzt bestimmt unheimlich kompliziert an. Um die Dateien, die von DMErr erzeugt werden, muß man sich aber überhauptnicht kümmern. Um ein Programm nach dem Compilieren zu verbessern geht man folgendermaßen vor: Assign t: ram: --> sollte schon in der startup-sequence geschehen DMErr Beispiel.mod --> Datei für Fehlersuche vorbereiten. Danach wird der DME automatisch gestartet. (das kann mit der Option `-' verhindert werden) SOURCE DMErr.edrc --> Neue DME-Tatenbelegungen aktivieren. DMErr.edrc kann natürlich in das eigene s:.edrc-File kopiert werden und braucht dann nicht mehr neu aufgerufen werden. Nun kann mit F1 zum ersten Fehler gesprungen werden. Der Cursor springt an die Fehlerhafte Stelle und ein Fenster mit dem Fehlertext, es können im Gegensatz zu M2Emacs auch mehrere Fehlermeldungen sein, wird geöffnet. An der Cursorposition kann man die vorhin erwähnte Markierung sehen: 2 große X und eine dreistellige Zahl, die der Nummer des Fehlers im Text entspricht. Durch erneutes Drücken von F1 wird das Fenster mit der Fehlermeldung wieder geschlossen. Natürlich muß dazu dieses Fenster noch das aktive sein, sonst wird das evt. angeklickte Fenster mit dem Modulaprogramm geschlossen. Wenn man nun F1 ein drittes mal drückt, verschwindet die Fehlermarkierung aus dem Text. Dazu sollte der Cursor jedoch noch auf oder vor dem ersten X stehen. Nun kann der Fehler verbessert werden und die gleiche Prozedur beliebig oft wiederholt werden. Um bei Folgefehlern nicht von Hand, oder durch tausendmaliges Drücken von F1 die Markierungen zu entfernen, können mit Shift-F1 alle Markierungen auf einmal gelöscht werden. Mit F2 können alle Fehlermarkierungen aus der Zeile, auf der sich der Cursor befindet, entfernt werden. Shift-F2 entfernt alle Fehlermarkierungen aus einem vorher mit `block' (c-b) markiertem Block. Fehler: - Wenn man F1 2x kurz hintereinander drückt, versucht DME das Fenster, das das Modulaprogramm enthält, zu schließen, da das mit der Fehlermeldung noch gar nicht geöffnet wurde. - Manche Fehler werden nicht korrekt angezeigt (z.B. verwechselt DMError POINTER und SET Typ). Dies finde ich nicht weiter tragisch, da man die meisten Fehler die ich mache offensichtlich sind und auch dann schnell behoben sind. Außerdem bin ich grad zu faul, DMError zu verbessern. Wen dieser Fehler stört, kann ihn ja mal verbessern. -- Fridtjof.