home *** CD-ROM | disk | FTP | other *** search
- ───────────────────────────────────────────────
- MDEBUG V2.07 - Beschreibungen
-
- Letzter Update: September 1993
- Bernd Schemmer
- ───────────────────────────────────────────────
-
- Diese Datei enthält beispielhafte Texte zur Beschreibung von MDEBUG in
- Mailboxen oder in Shareware-Katalogen.
-
- ──────────────────────────────────────────────────────────────────────────────
- Programm Information
- ──────────────────────────────────────────────────────────────────────────────
-
-
- Archiv-Name:
- ────────────
-
- Falls Sie MDEBUG in einen einzigen Archiv gepackt vertreiben (z.B. in
- Mailboxen) benutzen Sie bitte folgenden Namen für das Archiv:
-
-
- MD_V207D.ZIP
-
- (bzw. die entsprechende Extension für andere Packer)
-
-
- Programm Name, Kategorie:
- ─────────────────────────
-
- Programm Name: MDEBUG
-
- Version: V2.07
-
- Kategorien: Programmier Utilities, Debugging Tools, TSR
- Disassembler, Speicher Monitor, Interpreter
- Betriebssystem-Erweiterung
-
-
- Benötige Hard- und Software:
- ────────────────────────────
-
- MDEBUG benötigt zwischen 16 und 50 K Speicher für den residenten
- Teil (zum Installieren von MDEBUG werden 64 K freier Speicher
- benötigt) und MS-DOS bzw. PC-DOS Version 3.0 oder höher
-
-
-
-
-
- Beschreibungen von MDEBUG V2.07 für Shareware-Kataloge und Mailbox-Listen:
- ───────────────────────────────────────────────────────────────────────────
-
-
- ──────────────────────────────────────────────────────────────────────────────
- Kurztext (1 Zeile):
-
- MDEBUG V2.07 - Speichermonitor incl. Disassembler (TSR) von Bernd Schemmer
-
- ──────────────────────────────────────────────────────────────────────────────
- Kurztext (formatiert, 2 Zeilen):
-
- MDEBUG V2.07 ist ein speicherresidentes Debugging-Tool bestehend aus einem
- Speichermonitor, einem Interpreter und einem Disassembler von Bernd Schemmer.
-
- ──────────────────────────────────────────────────────────────────────────────
- Kurztext (formatiert, 3 Zeilen):
-
- MDEBUG V2.07 ist ein speicherresidentes Debugging-Tool bestehend aus einem
- Speichermonitor, einem Interpreter mit eigener Programmiersprache und einem
- interaktiven und selektiven Disassembler. Autor: Bernd Schemmer
-
-
- ──────────────────────────────────────────────────────────────────────────────
- Langtext (formatiert, ca. 300 Zeilen):
-
-
- MDEBUG V2.07 Release 01.10.1993
- ────────────────────────────────
-
- (c) 1988 - 1993 Bernd Schemmer
-
-
- Kurzbeschreibung von MDEBUG
- ───────────────────────────
-
- MDEBUG ist ein speicherresidentes Debugging-Tool für PCs unter MS/
- PC-DOS. MDEBUG enthält einen Speichermonitor, einen Interpreter mit
- eigener Programmiersprache und einen interaktiven und selektiven
- Disassembler.
-
- MDEBUG wurde ursprünglich für die Ermittlung von undokumentierten
- Strukturen des Betriebssystems DOS entwickelt, kann aber vielfältig
- eingesetzt werden. (z.B. zur Unterstützung bei der Programmierung).
-
- MDEBUG richtet sich vor allen an Programmierer/innen mit gutem bis
- sehr gutem Wissen über ihren PC und dem Betriebssystem MS-DOS bzw.
- PC-DOS (und an die, die es noch werden wollen).
-
-
- Hardware- und Software-Vorraussetzungen für MDEBUG
- ──────────────────────────────────────────────────
-
- MDEBUG läuft auf jedem IBM-kompatiblen PC/XT/AT/386er. Unterstützt
- werden alle Graphikkarten in allen Modi mit 80 oder mehr Spalten
- pro Zeile und 25 oder mehr Zeilen pro Seite.
- Unter Zuhilfename von Bildschirmtreibern kann MDEBUG auch in den
- Graphikmodi der einzelnen Graphikkarten aufgerufen werden.
- MDEBUG benötigt nur 16 K Speicher für den residenten Teil (ohne
- Online-Hilfe und Disassembler), für die Installation werden 64 K
- freier Speicher benötigt.
- MDEBUG benötigt MS-DOS bzw. PC-DOS ab Version 3.0.
-
-
- Einsatzgebiete für MDEBUG
- ─────────────────────────
-
- Da MDEBUG speicherresident ist, kann es vorzüglich zur Unter-
- stützung von anderen Debuggern eingesetzt werden. Zum Testen von
- eigenen Programmen stellt MDEBUG über den User-Interrupt ein Inter-
- face zum gezielten Aufruf von MDEBUG und zur Manipulation der
- internen Daten von MDEBUG zur Verfügung.
- MDEBUG gestattet auch den Aufruf über jeden beliebigen Interrupt.
- MDEBUG kann gezielt zur Inspektion und Änderung von Speicher-
- bereichen im Hauptspeicher eingesetzt werden (z.B. zur Änderung
- der Daten im BIOS-Segment oder zur Änderung der DOS-internen
- Datenstrukturen).
- Damit hierdurch nicht jeder Benutzer Unfug anrichten kann, kann
- MDEBUG durch ein (jederzeit ein- und ausschaltbares) Passwort
- geschützt werden.
-
- MDEBUG ist über Parameter völlig frei konfigurierbar (z.B. Hotkey,
- Farbeinstellungen, User-Int, Fensterpositionen, etc). Die aktuellen
- Einstellungen einer residenten Version von MDEBUG können ebenfalls
- jederzeit geändert werden. Selbst die Tastenbelegung von MDEBUG
- kann den eigenen Wünschen bzw. der vorhandenen Hardware angepasst
- werden.
-
-
- Dokumentation und Online-Hilfe
- ──────────────────────────────
-
- MDEBUG wird mit einer ausführlichen Ondisk-Dokumentation geliefert.
- Diese beinhaltet neben der vollständigen Beschreibung von MDEBUG
- auch eine ausführliche Auflistung der Interna von MDEBUG und die
- vollständige Dokumentation der Interfaces von MDEBUG (User-Int,
- Bildschirmtreiber und Kommandotreiber, s.u.).
- Die Dokumentation enthält zudem umfangreiche Beispiele für die
- Möglichkeiten von MDEBUG.
-
- Für die Hilfestellung während der Benutzung besitzt MDEBUG eine
- leistungsfähige Online-Hilfe.
-
-
- Der Monitor von MDEBUG
- ──────────────────────
-
- Aufbau des Monitorfensters von MDEBUG:
-
- ╔═══════════════════════════════ MDEBUG V2.07 ═══════[b*]════════════════════╗
- ║ DS:SI Adr.: 23B9:2BCE SE: 23B9 OF: 2BCE Suchen: HelpPC.■■■, ║
- ╟──────┬─ Offset: 2BCE [= 48h = #072 = 'H']───────────────┬──────────────────╢
- ║ 2BCE │ 48 65 6C 70 50 43 2E 4E 44 58 2C 20 69 73 20 48 │ HelpPC.NDX, is H ║
- ║ 2BDE │ 4C 50 20 76 61 72 69 61 62 6C 65 20 73 65 74 3F │ LP variable set? ║
- ║ 2BEE │ 20 48 45 4C 50 50 43 2E 4E 44 58 20 4D 61 69 6E │ HELPPC.NDX Main ║
- ║ │ ── FS:FO => 561A:EBB5 ────────────────────────── │ ║
- ║ EBB5 │ 48 65 6C 70 2E 2E 20 20 20 20 20 20 20 20 20 6A │ Help.. j ║
- ║ EBC5 │ 6D 70 20 50 72 6F 67 45 72 72 6F 72 2E 2E 3B 20 │ mp ProgError..; ║
- ║ EBD5 │ 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D │ ---------------- ║
- ║ EBE5 │ 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2E 2E 6C 31 │ ------------..l1 ║
- ╚══════╧══════════════[ (c) Bernd Schemmer 1988 - 1993 ]══╧══════════════════╝
-
- Der Monitor von MDEBUG arbeitet mit zwei unabhängigen Fenstern zur
- Anzeige von Speicherinhalten. Die Größe der Fenster ist dabei frei
- variierbar und die angezeigten Speicherbereiche können beliebig
- gescrollt werden. Angezeigt wird der Speicherinhalt jeweils in
- hexadezimaler Darstellung und in ASCII-Darstellung. Die Register,
- aus denen die Startadresse des ersten Monitor-Fensters ermittelt
- werden sollen, können frei bestimmt werden (z.B. DS:SI, DX:AX).
-
- Die Anzeige des Monitors wird von MDEBUG laufend (!) aktualisiert -
- auch bei der Eingabe von Befehlen im Interpreter und falls keine
- Eingabe erfolgt. Die laufende Aktualisierung ist natürlich auch
- abschaltbar.
- Der Monitor gestattet die Anzeige und Veränderung von beliebigen
- RAM-Bereichen im ersten Megabyte des Speichers des PCs. (im Hex-
- oder im ASCII-Modus). Die Suche von bestimmten Zeichenketten ist
- ebenfalls möglich (incl. Verwendung von Jokern im Suchstring).
- Außerdem sind im Monitor (u.a.) verschiedene Befehle zum bequemen
- Durchlaufen von verzeigerten Listen (near, far oder die MCB-
- Liste) implementiert.
-
-
- Der Interpreter von MDEBUG
- ──────────────────────────
-
- Aufbau des Interpreterfensters von MDEBUG:
-
- ╔ Passwort OFF ════════════════════ MDEBUG V2.07 ════[UqI]═════════════════════╗
- ║ Befehl: ║
- ╟────────┬──────────────────────────────────────────────────M──────────────────╢
- ║CS: 31DD│ ╓─────────── Register ─────────────────────────╖ 1 0EB0:0000 LASTBUF║
- ║R┬──────┤ ║ AX = 0500 BX = 0000 CX = 0A0D DX = FFFF ║ 2 0974:0000 1. MCB ║
- ║1│ 0080 │ ║ SI = 00D3 DI = 00D3 DS = 022C ES = 022C ║ 3 022C:7420 1. DPB ║
- ║2│ 31DD │ ║ BP = 2DB2 SS = 022C SP = 09F6 ║ 4 022C:0098 SDL ║
- ║3│ D061 │ ║ Flags = ....__I____A__._ ║ 5 0070:01A4 CLOCK ║
- ║4│ 0000 │ ║ R0 = $0000000101000100 = 0144 ║ 6 0070:016E CON ║
- ║5│ 0000 │ ║ R8 = #24930 (+#24930) = 6162 = 'ab' ║ 7 0DC9:0000 BUF ║
- ║6│ 0000 │ ║ Ruecksprung-Adresse = 022C:3FEE ║ 8 0F13:0000 PRet ║
- ║7│ 0000 │ ║ Busy-Flag = 01 DIB = 022C:001E ║ 9 0A08:0000 PFileT ║
- ╚═╧══════╧═╩═══════════[ (c) Bernd Schemmer 1988 - 1993 ]═╩═╩══════════════════╝
-
- Zur Unterstützung des Monitors besitzt MDEBUG einen leistungs-
- fähigen Interpreter. Im Fenster des Interpreters werden die Inhalte
- der Prozessor-Register und die wesentlichen Adressen aus dem DOS-
- Info-Block angezeigt. Außerdem werden (u.a.) die Inhalte der 9
- von MDEBUG zur Verfügung gestellten Hilfsregister angezeigt wobei
- der Inhalt von mehreren Hilfsregistern in verschiedenen Inter-
- pretationen angezeigt wird. MDEBUG kann daher z.B. zur Umrechnung
- von Werten benutzt werden. (binär, dezimal mit Vorzeichen, dezimal
- ohne Vorzeichen, hexadezimal oder als ASCII-Zeichen).
-
- Für kompliziertere Aufgaben besitzt der Interpreter eine eigene
- Programmiersprache mit mehr als 40 (!) Befehlen (z.B. zur Manipu-
- lation von Registern oder Speicherstellen, zur Berechnung von
- Formeln, zum Ausführen von Maschinencode, zur Anzeige der DOS-
- internen Tabellen und Listen, usw). Auch die Ausführung von Inter-
- rupts ist über MDEBUG problemlos möglich, wobei das Reentrance-
- Problem von MS-DOS elegant gelöst ist. MDEBUG erlaubt es u.a. auch,
- dem unterbrochenen Prozess veränderte Registerwerte zu übergeben
- oder den unterbrochenen Prozess abzubrechen. Über den B-Befehl
- können zudem alle Maschinencodes des installierten Prozessor aus-
- geführt werden. MDEBUG verfügt auch über einen sehr schnellen
- Befehl zur Suche von beliebigen Bytefolgen im Speicher, wobei in
- der zu suchenden Bytefolge auch Joker, Prefixe und Intervalle ange-
- geben werden können.
-
- Da mehrere Befehle auch auf einmal ausgeführt werden können und
- auch Befehle zur bedingten Ausführung von Befehlen und zur Pro-
- grammierung von Schleifen (REPEAT-UNTIL, DO-WHILE, FOR-DO und
- Endlos-Schleifen mit Abbruchmöglichkeit) vorhanden sind, können
- auch kleinere 'Routinen' erstellt und ausgeführt werden. Zur
- Verkettung von mehreren Befehlszeilen können Befehlszeilen auch in
- beliebigen Speicherbereichen gesichert und später aus diesen heraus
- restauriert und ausgeführt werden.
-
- Explizite Werte können in allen Formaten mit einer Basis zwischen
- 2 und 16 (z.B. binär, octal, dezimal oder hexadezimal) oder auch
- als String eingegeben werden. Natürlich können auch Ausdrücke
- benutzt werden.
- Für Ausdrücke sind folgende Operatoren implementiert:
-
- - arithmetisch: +, -, /, *, \ (MODULO),
-
- - logisch: & (AND), | (OR), ! (XOR)
- «, (SHIFT LEFT), » (SHIFT RIGHT)
- <, >, =, ¬
- % (Teste Bit)
-
- In Ausdrücken können maximal 5 Klammerebenen verwendet werden.
-
-
- Erweiterungen von MDEBUG über Kommandotreiber
- ─────────────────────────────────────────────
-
- MDEBUG gestattet es, die Tastenbelegung und die Befehle über
- Kommandotreiber beliebig umzudefinieren bzw. neue Tastenbelegungen
- und Befehle zu implementieren.
- Zur Shareware-Version von MDEBUG werden schon mehrere Kommando-
- treiber mitgeliefert.
-
- Der auch schon in der Shareware-Version enthaltene Kommandotreiber
- MDHISDRV.COM stellt z.B. eine History-Funktion für MDEBUG zur
- Verfügung. Er gestattet es zudem 10 Tasten jeweils mit einer
- Befehlszeile für MDEBUG zu belegen. Selbstverständlich können die
- Befehlszeilen und die Puffer von MDHISDRV auch in einer Datei
- gesichert und später wieder eingelesen werden.
-
-
- Der Disassembler von MDEBUG
- ───────────────────────────
-
- Aufbau des Disassemblerfensters von MDEBUG: