home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
- MDEBUG
-
- Version V2.07
-
- Highperformance Debugging Tool für PCs
-
- Änderungen und Erweiterungen ab der Version V2.00
-
- Copyright 1993 by
- Bernd Schemmer
- All Rights reserved.
-
-
-
- Behobene Fehler in der Version V2.00 vom 01.07.1992
- ───────────────────────────────────────────────────
-
- ■ Die Taste <ALT-F5> im Interpreter hat in der vorherigen Version (nur
- in den Kopien von MDEBUG.COM mit einem Datum vor dem 01.04.1992)
- einen Systemabsturz verursacht. Der Fehler wurde behoben.
-
- ■ Das Zeichen '■' ist, im Gegensatz zur Angabe in der Dokumentation der
- vorherigen Version, bei der Suche einer Bytefolge über den Befehl
- SH im Interpreter KEIN Jokerzeichen (wohl aber bei der Suche im
- Monitor).
-
- ■ Die Offsets in der Tabelle mit dem Aufbau der Datenstruktur von
- MDEBUG (Funktion 2 der Kommandotreiber) ab dem Offset 3Ah (exklusive)
- waren in der Dokumentation der vorherigen Version falsch angegeben.
- Richtig ist:
-
- ┌─────────────────┬───────┬────────────────────────────────┐
- │ Offset │ │ Funktion der Speicherstelle │
- │ (relativ zu DI) │ Länge │ │
- ╞═════════════════╪═══════╪════════════════════════════════╡
- │ 00h .. 3Ah │ │ Angaben waren korrekt │
- │ │ │ │
- │ │ │ Die nächsten Angaben waren │
- │ │ │ fehlerhaft, sie müssen lauten: │
- │ 3Ah │ 18h │ gesicherte Registerwerte (...) │
- │ 52h │ 18h │ gesicherte Registerwerte (...) │
- │ │ │ │
- │ 6Ah │ 4h │ Adresse des DOS-Info-Blocks │
- │ │ │ │
- │ ... │ │ Die Offsets der folgenden │
- │ │ │ Felder müssen jeweils um 18h │
- │ │ │ (= 24xD) erhöht werden │
- └─────────────────┴───────┴────────────────────────────────┘
-
-
-
-
-
- Erweiterungen der Version V2.00 vom 01.07.1992
- ──────────────────────────────────────────────
-
- ■ MDEBUG benutzt jetzt Buchstaben-Schalter zur Anzeige verschiedener
- Schalterstellungen. Diese werden jeweils auf den oberen Rahmen der
- Fenster des Monitors bzw. des Interpreters ausgegeben.
-
- Im Monitor sind folgende Schalter implementiert:
-
- ┌──────────┬───────┬──────────────────────────────────┬───────────┐
- │ Schalter │ Wert │Bedeutung │ Taste │
- ╞══════════╪═══════╪══════════════════════════════════╪═══════════╡
- │ Monitor- │ b │ direkte Änderungen im Monitor │ <CTRL-B> │
- │ Mode │ │ möglich │ │
- │ │ B │ direkte Änderungen im Monitor │ │
- │ │ │ NICHT möglich │ │
- ├──────────┼───────┼──────────────────────────────────┼───────────┤
- │ Update- │ * │ Monitor-Inhalt wird laufend │ <F9> │
- │ Mode │ │ upgedated │ │
- │ │ - │ Monitor-Inhalt wird nur nach │ │
- │ │ │ einem Tastendruck upgedated │ │
- └──────────┴───────┴──────────────────────────────────┴───────────┘
-
- Im Interpreter sind folgende Schalter implementiert:
-
- ┌──────────┬───────┬──────────────────────────────────┬───────────┐
- │ Schalter │ Wert │Bedeutung │ Taste │
- ╞══════════╪═══════╪══════════════════════════════════╪═══════════╡
- │ Upcase- │ U │ Buchstaben werden in Großbuch- │ <CTRL-U> │
- │ Mode │ │ staben konvertiert │ │
- │ │ u │ Buchstaben werden NICHT in Groß- │ │
- │ │ │ buchstaben konvertiert │ │
- ├──────────┼───────┼──────────────────────────────────┼───────────┤
- │ Quiet- │ Q │ akustische Ausgaben sind aus- │ <CTRL-Q> │
- │ Mode │ │ geschaltet │ │
- │ │ q │ akustische Ausgaben sind einge- │ │
- │ │ │ schaltet │ │
- ├──────────┼───────┼──────────────────────────────────┼───────────┤
- │ Input- │ I │ Eingaben erfolgen im INSERT- │ <INSERT> │
- │ Mode │ │ Modus │ │
- │ │ i │ Eingaben erfolgen im OVERWRITE- │ │
- │ │ │ Modus │ │
- └──────────┴───────┴──────────────────────────────────┴───────────┘
-
-
- ■ Im Monitor von MDEBUG wird nun der Wert des aktuellen Bytes auch im
- dezimalen Format und als ASCII-Code ausgegeben.
-
- ■ Die Eingabeparameter der Funktion 3h des Interfaces für die Kommando-
- treiber wurden erweitert.
-
- ■ Fehlerhafte oder falsche Parameter führen jetzt zum Programm-Abbruch.
-
- ■ Beim Parameter 'HELP' reicht jetzt die Angabe eines Pfades falls die
- Hilfstextdatei 'MDEBUG.HLP' heißt.
-
- ■ Im Scrollbar der Online-Hilfe von MDEBUG werden jetzt auch die unge-
- fähren Positionen der Marker angezeigt.
-
- ■ Die Meldungen von MDEBUG wurden erweitert.
-
- ■ Die Werte der Errorlevel von MDEBUG wurden geändert.
-
- ■ Das Util CALLMDB erkennt jetzt ebenfalls den Parameter '#' (siehe
- Beschreibung der Parameter von MDEBUG).
-
- ■ Der Speicherbedarf des Kommandotreibers MDHIDSRV.COM konnte durch
- weitere Optimierungen um 400 Byte gesenkt werden.
-
- ■ Die Abbruchtaste für das Util SHOWINT ist jetzt <CTRL-X>.
-
-
-
-
-
- Korrekturen und Erweiterungen der Version V2.00 des Treibers MDDISDRV.COM
- ─────────────────────────────────────────────────────────────────────────
-
- ■ Der Algorithmus zum seitenweisen Rückwärtsscrollen (Taste <PageUp>)
- wurde wesentlich verbessert. Er ist jetzt ca. 50 % schneller und zu-
- sätzlich auch noch sehr viel zielgenauer als vorher.
-
- ■ Im Disassembler können jetzt auch Referenzen auf bestimmte Speicher-
- stellen gesucht werden. Hierfür wurden folgende Tastenbelegungen neu
- implementiert:
-
- <F8>
-
- Sucht eine Code-Referenz (z.B. 'jmp cb', 'int n', 'jc cb', etc.) auf
- eine beliebige Adresse ab der Adresse in der aktuellen Zeile.
-
- <SHIFT-F8>
-
- Sucht eine Daten-Referenz (z.B. 'mov ax,[ew]') auf eine beliebige
- Adresse ab der Adresse in der aktuellen Zeile.
-
- In beiden Fällen kann als Adresse, für die eine Referenz gesucht
- werden soll, eine beliebige Kombination aus Segment und Offset ein-
- gegeben werden. Beachtet werden muß, daß bei der Suche nach einer
- Daten-Referenz der eingegebene Wert für das Segment ignoriert wird.
-
- Gesucht wird immer nur bis zum Ende eines Segments. Die Suche kann
- jederzeit über die Taste <ESC> abgebrochen werden. Falls die Suche
- abgebrochen oder keine Referenz gefunden wurde, wird die Anzeige des
- Disassemblers nicht verändert. In diesen Fall kann zudem direkt nach
- der Suche über die Taste <0> der letzte überprüfte Befehl ermittelt
- werden (d.h. falls eine abgebrochene Suche ab dem zuletzt überprüften
- Befehl fortgesetzt werden soll, müssen hierfür direkt nach der Suche
- die Tasten <0> und <F8> bzw. <SHIFT-F8> benutzt werden).
- Wird eine Referenz gefunden, wird der Code ab dem gefundenen Befehl
- im Disassembler angezeigt.
-
- <CTRL-F8>
-
- Letzte Suche fortsetzen.
- Gesucht wird die zuletzt gesuchte Adresse mit dem zuletzt angegebenen
- Referenz-Art (Code / Data) ab dem auf den zuletzt gefundenen Befehl
- folgenden Befehl (d.h. nicht ab dem aktuellen Befehl!).
- Diese Funktion ist nur möglich, falls vorher mindestens einmal eine
- Daten- oder Code-Referenz gesucht wurde.
-
-
-
-
-
- ■ Das Zeichen #26 wird jetzt vom Befehl DC nicht mehr interpretiert.
- Zur Kennzeichnung des Endes der Parameters muß daher jetzt das Ver-
- kettungszeichen ('^') von MDEBUG verwendet werden
-
- ■ Beim Scrollen des Stacks (Taste <TAB>) wird jetzt jeweils der Code
- bzw. die Daten für die aktuelle Stack-Adresse in den oberen 10 Zeilen
- angezeigt.
- Die 'alte Form' des Scrollens kann über die Taste <SHIFT-TAB> aufge-
- rufen werden.
-
- ■ Falls der Adressen-Stack blockiert ist, kann jetzt auch die Taste
- <CursorRight> nicht mehr benutzt werden.
-
- ■ Die Ausgabe von immediate Bytes bzw. Words wurde verbessert.
- U.a. werden jetzt die Operanden von logischen Befehlen (AND, OR, TEST
- und XOR), falls möglich, nur im binären Format ausgegeben.
-
- ■ Falls ein Verzweigungsbefehl ( CALL, JMP, INT, etc.) auf einen der
- Befehle RET, RETF, IRET oder HLT zeigt, wird dies jetzt hinter dem
- Verzweigungsbefehl als Kommentar angezeigt.
-
- ■ Durch die Taste <CTRL-End> kann das Fenster des Disassemblers jetzt
- in den unteren Bildschirmbereich verschoben werden.
-
- ■ Durch die Taste <CTRL-Home> kann das Fenster des Disassemblers jetzt
- in den oberen Bildschirmbereich verschoben werden.
-
- ■ Über die beiden neuen Parameter '*name' und '&name' kann jetzt der
- Status des Disassemblers in eine Datei gesichert bzw. aus einer Datei
- geladen werden.
-
-
-
-
-
- Behobene Fehler in der Version V2.02 vom 01.08.1992
- ───────────────────────────────────────────────────
-
- ■ Die Befehle 'En', 'n:' und die Macro-Funktionen über die Tastenkombi-
- nationen <ALT-n> funktionierten in der Version V2.00 des Treibers
- MDHISDRV nicht korrekt falls versucht wurde, mehr als einen Befehl in
- einem Puffer zu sichern. Der Fehler wurde beseitigt.
-
- ■ Der Befehl 'LA' funktionierte ebenfalls nicht korrekt in der Version
- V2.00 des Treibers MDHISDRV.COM. Der Fehler wurde korrigiert.
-
- ■ Der Parameter '/I' des Treiber MDHISDRV.COM hat in der vorherigen
- Version NICHT korrekt funktioniert (Ein über diesen Parameter erstel-
- tes Programm hat einen Systemabsturz verursacht). Der Fehler wurde
- beseitigt.
-
- ■ Falls versucht wurde, eine genau in den Puffer für den Hilfstext
- passende neue Hilfstextdatei in eine residente Version von MDEBUG zu
- laden, hat MDEBUG in der vorherigen Version irrtümlich die Fehler-
- meldung
-
- MDEBUG: Der Puffer der residenten Version ist zu klein!
- Die Hilfstextdatei wurde nicht vollständig gelesen.
-
- ausgegeben. Der Fehler wurde beseitigt.
-
- ■ In der Version V2.00 von MDEBUG war es nicht möglich, eine mit einem
- aktivem Passwort installierte Version von MDEBUG zu ändern, falls das
- Passwort nicht schon beim Installieren von MDEBUG aktiv war. Der
- Fehler wurde beseitigt.
-
- ■ Die in der Vollversion von MDEBUG mitgelieferten Quelltexte der
- Bildschirm- und Kommandotreiber wurden komplett neu überarbeitet.
- Hierbei wurden auch einige kleinere Fehler (insbesondere bei der
- Bearbeitung der Parameter) eliminiert.
-
- ■ Ein kleinerer Fehler bei der Ausgabe des Absolutwerts des Offsets
- eines Speicheroperanden (ABS: nnnn) im Disassembler wurde korrigiert.
-
- ■ Leider hat der Disassembler auch in der vorherigen Version noch nicht
- alle möglichen Varianten der Befehle mit dem Opcode 83h korrekt aus-
- gegeben. Der Fehler wurde beseitigt.
-
-
-
- Erweiterungen der Version V2.02 vom 01.08.1992
- ──────────────────────────────────────────────
-
- ■ Der Puffer für einen Hilfstext für die Online-Hilfe wird von MDEBUG
- jetzt immer so aufgerundet, daß der Speicherblock komplett genutzt
- wird. (d.h. der eingerichtete Puffer für den Hilfstext kann bis zu
- 15 Byte größer als die geladene Hilfstext-Datei bzw. der Wert des
- Parameters 'BUF' werden.)
-
- ■ In der Version V2.02 des Disassemblers MDDISDRV ist es jetzt möglich
- die Werte der Schalter und Variablen des Disassemblers auch während
- der Anzeige der zweiten Seite der Online-Hilfe zu ändern.
-
- ■ Die zweite Seite der Online-Hilfe des Disassemblers kann nun auch
- direkt über die Taste <O> aufgerufen werden.
-
- ■ Falls die Online-Hilfe des Disassemblers über die Taste <F10> verlas-
- sen wird, wird nun der Aufruf von MDEBUG sofort beendet.
-
- ■ Der Kommandotreiber MDHISDRV sichert jetzt Befehlszeilen, die über
- <CTRL-E> oder <CTRL-X> restauriert wurden nicht noch ein zweitesmal,
- falls sie nicht vor der erneuten Ausführung editiert wurden.
-
- ■ Zusätzlich wurde im Kommandotreiber MDHISDRV der Befehl 'BS' neu
- implementiert. Dieser Befehl liefert im Register CX die Größe des
- eingerichteten Puffers für die History-Funktion und im Register AX
- die Anzahl der belegten Bytes im Puffer für die History-Funktion.
-
- ■ Die Vollversion von MDEBUG enthält jetzt zusätzlich das Util DisStat.
- DisStat dient zur Konvertierung der Status-Dateien des Disassemblers
- MDDISDRV in ein lesbares Format.
-
- Hinweis: Die von der Version V2.00 erstellten Status-Dateien sind
- NICHT kompatibel zu den Status-Dateien der Version V2.02!
-
- ■ Zusätzlich wird zu MDEBUG jetzt die Datei A86.TXT mitgeliefert. Diese
- enthält eine kurze Beschreibung der in den Quelltexten zu MDEBUG
- benutzten speziellen Features des A86.
-
- ■ Ebenfalls neu in dieser Version ist die Datei MDEBUG.REF. Diese
- enthält eine Kurzbeschreibung der Tastenbelegung und der Befehle von
- MDEBUG, der neuen Befehle und Tasten der Kommandotreiber MDHISDRV und
- MDDISDRV und der Tastenbelegung des Disassemblers.
- Beachten Sie bitte, daß Sie vor dem Ausdrucken dieser Datei die
- Formatierungszeichen durch die Druckercodes Ihres Druckers ersetzen
- müssen (siehe 'MDEBUG.REF').
-
-
-
-
- Behobene Fehler in der Version V2.05 vom 01.12.1992
- ───────────────────────────────────────────────────
-
- ■ Der Disassembler MDDISDRV hat in der vorherigen Version teilweise die
- Meldungen nur teilweise unkomprimiert (will sagen: unleserlich) aus-
- gegeben. Der Fehler wurde beseitigt.
-
- ■ Der Disassembler MDDISDRV ist in der vorherigen Version auf einem PC
- mit 80286 oder höheren Prozessor teilweise (je nach dem installiertem
- Interrupt-06h-Handler) in einer Endlosschleife hängengeblieben, falls
- im Dump-Modus die Adresse für die letzte Zeile (= Funktion 'Folge dem
- Befehl') 0nnnnh:0FFFFh war. Der Fehler wurde behoben.
-
- ■ CALLMDB.COM und die Routine CHECKMD (aus CHECKMD.OBJ) finden MDEBUG
- jetzt auch, falls es in einen Speicherbereich über 640 K geladen
- wurde.
-
-
- Erweiterungen der Version V2.05 vom 01.12.1992
- ──────────────────────────────────────────────
-
- ■ Meine Adresse hat sich geändert (siehe Datei 'README.DOC').
-
- ■ Neu in dieser Version ist die Datei '_T&T_.DOC'. Diese enthält Tips &
- Tricks für die Benutzung von MDEBUG.
-
- ■ Neu implementiert wurde die Konstante P5. Diese enthält den Offset
- der Variablen 'DontHide' (Byte!) von MDEBUG. Falls diese Variable
- ungleich 0 ist, restauriert MDEBUG vor dem Beenden des PopUps den
- Bildschirm NICHT. Die Variable 'DontHide' wird von MDEBUG bei jeden
- neuen Popup wieder auf 0 gesetzt, daher sollte zum Verlassen von
- MDEBUG ohne Bildschirm-Restauration ein Macro (über den Kommando-
- treiber MDHISDRV) benutzt werden (z.B. 'E9: MOV CS:*[P5],0FF ~ Q').
-
- ■ MDEBUG benutzt ab dieser Version nur noch einen simulierten Cursor.
-
- Hierdurch hat die Konstante P4 eine neue Bedeutung bekommen:
-
- Sie enthält nun immer den Offset der Variablen mit dem Farbattributen
- für den Cursor (CS:*[P4] = Attribut für den Insert-Modus, CS:*[P4+1]
- = Attribut für den Overwrite-Modus).
-
- Zudem wurden die beiden neuen Parameter
-
- 'RealCursor=n'
-
- und
-
- 'CoC=nn{,mm}'
-
- implementiert (siehe Beschreibung der Parameter von MDEBUG)
-
- ■ Die Treiber MDHISDRV.COM und MDDISDRV.COM können nun über den neuen
- Parameter /H1 dazu veranlasst werden, den residenten Teil in einen
- Speicherbereich oberhalb von A000h zu verschieben.
- Das gleiche gilt für MDEBUG selbst, wobei hier der Parameter LOADH
- lautet.
-
- ■ Das Util SHOWINT hat in der vorherigen Version die Inhalte der Regis-
- ter ES, DS, SI und DI nicht korrekt angezeigt. Der Fehler wurde in
- der Version 1.50 behoben.
-
-
-
-
- Behobene Fehler in der Version V2.06 vom 01.06.1993
- ───────────────────────────────────────────────────
-
- ■ MDEBUG hat in der vorherigen Version die Speicherbelegungsstrategie
- von DOS verändert. Der Fehler wurde behoben.
-
- ■ Die Parameter HELP und NOHELP haben in der vorherigen Version nicht
- mehr korrekt funktioniert, falls der Parameter HELP={path}helpfile
- als Voreinstellung installiert war. Der Fehler wurde korrigiert.
-
- ■ Ein kleinerer Fehler in den Bildschirmtreibern MDCGADRV, MDHGCDRV und
- MDDRIVER wurde korrigiert.
-
-
- Erweiterungen der Version V2.06 vom 01.06.1993
- ──────────────────────────────────────────────
-
- ■ Die Beschreibung der Hard- und Software mit der MDEBUG evtl. Probleme
- bereitet befindet sich nun in der Datei TROUBLE.DOC.
-
- ■ Der dritte Parameter für die Datei INSTALL.BAT wurde von + bzw. - in
- Y bzw. N geändert. Dies ist notwendig, da unter 4DOS V4.02 der Befehl
- "IF -. == +." TRUE ergibt.
-
-
- Behobene Fehler in der Version V2.07 vom 01.10.1993
- ───────────────────────────────────────────────────
-
- ■ Der V-Befehl kann jetzt auch in der Form V seg:off angegeben werden.
- In der vorherigen Version führte dieser Aufruf zu einer Endlos-
- schleife, die nur noch durch den Reset-Knopf beendet werden konnte.
-
- ■ Einige kleinere Fehler in der Cursor-Steuerung von MDEBUG wurden
- beseitigt.
-
- ■ MDEBUG ruft jetzt den Original-Interrupt 09h zur Bestätigung von
- Tasten auf (vorher hat MDEBUG hierfür die Ports direkt programmiert).
-
- Dadurch kann MDEBUG jetzt auch aufgerufen werden, falls ein mit dem
- 286|DOS-Extender von Pharlap entwickeltes Programm läuft.
-
- Die Tasten CTRL-C, CTRL-2 und CTRL-ScrollLock bzw. CTRL-BREAK können
- jetzt in Kommando-Treibern von MDEBUG benutzt werden.
-
- Die Änderung bewirkt aber auch folgende Veränderungen im Verhalten
- von MDEBUG:
-
- - Die Tasten CTRL-C, CTRL-ScrollLock und CTRL-Break werden von MDEBUG
- NICHT mehr abgefangen. D.h. falls z.B. ein DOS-Befehl aktiv ist
- während MDEBUG aufgerufen wird, wertet dieser nach dem Beenden des
- Aufrufs von MDEBUG die Taste CTRL-BREAK aus!
-
- - Während der PC durch MDEBUG gesperrt ist (durch den Befehl QL),
- wird auch die Tasten-Kombination CTRL-ALT-DEL (= Warmstart) von
- MDEBUG NICHT mehr abgefangen.
-
- - die BREAK-Taste von MDEBUG ist jetzt ESC (vorher CTRL-BREAK).
-
-
- Erweiterungen der Version V2.07 vom 01.10.1993
- ──────────────────────────────────────────────
-
- ■ Der Preis von MDEBUG wurde auf 50,- DM gesenkt. Ebenfalls gesenkt
- wurden die Preise für eine Site-Lizenz von MDEBUG und die Preise für
- die zusätzlich erhältlichen Utils für MDEBUG.
-
- ■ Meine Adresse hat sich geändert (siehe Datei 'README.DOC').
-
- ■ keine weiteren Erweiterungen in dieser Version
-
-
-
-
-
-
- Last Minute Infos über MDEBUG und die zugehörigen Utils
- ───────────────────────────────────────────────────────
-
- Die folgenden Punkte sind in der Dokumentation zu MDEBUG falsch oder
- fehlerhaft angegeben:
-
- ■ keine bekannten fehlerhaften Angaben in der Dokumentation vorhanden.
-
-
- Last Minute Changes von MDEBUG und den zugehörigen Utils
- ────────────────────────────────────────────────────────
-
- Die folgenden Erweiterungen/Änderungen wurden in letzter Minute durch-
- geführt und konnten daher noch nicht im Handbuch berücksichtigt werden.
-
- ■ keine weiteren 'Last Minute Changes' in dieser Version
-
-
-