home *** CD-ROM | disk | FTP | other *** search
-
-
- Tips & Tricks für die Benutzung von MDEBUG
- ──────────────────────────────────────────
-
- ■ Beachten Sie, daß MDEBUG mit dem Parameter HELP geladen werden muß,
- falls Sie die Online-Hilfe von MDEBUG benutzen wollen.
-
- Achtung: Der Parameter HELP muß bei der Installation von MDEBUG
- angegeben werden!
-
-
- ■ Falls Sie MDEBUG oder einen der Treiber MDHISDRV oder MDDISDRV in
- einen UMB laden wollen, sollten Sie auf jeden Fall den Parameter
- LOADH für MDEBUG (bzw. /H1 für die Treiber) dem DOS-Befehl LH
- vorziehen.
-
- Grund:
-
- Im Gegensatz zum Hochladen über die Parameter benötigt der DOS-
- Befehl mehr freien Speicherplatz im UMB (für den transienten Teil
- und den residenten Teil). Da beim DOS-Befehl LH zudem das Environment
- ebenfalls in den UMB geladen wird (und zwar vor das eigentliche
- Programm), dieses aber von MDEBUG und den Treibern sowieso wieder
- freigegeben wird, erhalten Sie in diesem Fall zusätzliche unbelegte
- Löcher im UMB. Zum Hochladen von MDEBUG und den Treibern durch diese
- selbst, wird nur soviel freier Speicherplatz im UMB benötigt wie der
- residente Teil von MDEBUG bzw. den Treibern belegt.
-
-
- ■ Falls in den Popup-Windows von MDEBUG kein Cursor erscheint, müssen
- Sie den Parameter 'CoC' verwenden:
-
- MDEBUG SET CoC=n1,n2
-
- ('n1' = Cursor-Attribut für den Insert-Modus, 'n2' = Cursor-Attribut
- für den Overwrite-Modus, jeweils als hexadezimaler Wert)
-
-
- ■ Falls Sie die Windows von MDEBUG auf einen zweiten Bildschirm umgeleitet
- haben (über den Parameter 'TEXT') und ein Popup von MDEBUG nicht möglich
- ist, sobald der Original-Graphikadapter im Graphik-Modus ist, geben Sie
- den Parameter 'TEXT' in der vollständigen Form an:
-
- MDEBUG SET TEXT=nnnn,0
-
- ('nnnn' ist das Segment des Bildschirmspeichers des zweiten Bildschirms)
-
-
- ■ Falls Ihnen die Voreinstellungen für die Farben von MDEBUG nicht zusagen,
- können Sie diese auch schon in der Shareware-Version ändern:
-
- (1) Installieren Sie MDEBUG und rufen Sie MDEBUG über den Hotkey auf.
- Führen Sie dann folgenden Befehl im Interpreter aus:
-
- MOV AX,P3 ^ MOV BX,P4
-
- Notieren Sie sich nun die Werte aus den Registern AX und BX.
-
- (3) Verlassen Sie MDEBUG.
-
- (4) Entfernen Sie MDEBUG mit dem Parameter 'EXIT' aus den Speicher.
-
- (5) Laden Sie den DOS-Debugger DEBUG.COM und führen Sie dort folgende
- Befehle aus:
-
- nMDEBUG.COM
- l
- e p3_offs
- n1 n2
- e p4_offs
- n3 n4
- w
- q
-
- Hinweis: Hierbei ist p3_offs der Wert aus dem Register AX und
- p4_offs ist der Wert aus dem Register BX (Schritt 1).
- n1 ist die neue Farbe für den Interpreter, n2 ist die
- neue Farbe für den Monitor, n3 ist das neue Attribut
- für den Cursor im Insert-Modus und n4 ist das neue
- Attribut für den Cursor im Overwrite-Modus.
-
-
- ■ Für eine Color-Graphik-Karte können Sie z.B. folgende Farben
- benutzen:
-
- MDEBUG CoM=74 CoD=71 CoH1=31 CoH2=3Eh CoH3=1B CoC=9E,CE
-
- und
-
- MDDISDRV /F1,4E /F2,4B /F3,71
-
-
- ■ Verschiedene Programme (vor allem Spiele) verändern das Statusbyte
- für die Umschalt-Tasten der Tastatur, so daß nach dem Beenden des
- Programms z.B. der Status der Tasten CAPSLOCK oder NUMLOCK dort
- falsch eingetragen ist.
-
- Diesen Fehler können Sie über MDEBUG folgendermaßen beheben:
-
- (1) Schalten Sie NUMLOCK und CAPSLOCK aus
-
- (2) Rufen Sie MDEBUG über den Hotkey aus und führen folgenden
- Befehl aus:
-
- MOV 040:*[017],0
-
- Dadurch werden im Statusbyte für die Tastatur alle Bits gelöscht
- (->> NUMLOCK, CAPSLOCK, INSERT und SCROLLLOCK sind jeweils aus-
- geschaltet.)
-
-
- ■ Zum Ermitteln der Tastaturcodes mehrerer Tasten bietet sich folgende
- Befehlszeile an:
-
- M AH,00 ^ I 16 ^ ¿H AL=1B @ Taste drücken, AX = Tastencode (ESC = Ende)
-
- oder
-
- M AH,10 ^ I 16 ^ ¿H AL=1B @ Taste drücken, AX = Tastencode (ESC = Ende)
-
-
- ■ Zum Disassemblieren eines Programms mit dem Disassembler MDDISDRV muß
- dieses vorher über einen normalen Debugger, z.B. DEBUG.COM, geladen
- werden.
-
-
- ■ In dem als Adresse, für die eine Code-Referenz gesucht wird, die
- aktuelle Adresse einer Interrupt-Routine angegeben wird, können mit
- dieser Funktion des Disassemblers auch Interrupt-Aufrufe gesucht
- werden:
-
- Beispiel:
-
- Suche nach einer Code-Referenz für den Interrupt 21h
-
- (1) Über die Tastenfolge 'I21' den Disassembler zur Anzeige des
- Codes des Interrupt 21h veranlassen.
-
- (2) Über die Taste <Insert> die Adresse der Interrupt-Routine auf
- den Adressen-Stack pushen.
-
- (3) Über die Taste <0> zurück zur alten Startadresse springen
-
- (4) Über die Taste <F8> die Suche nach der Code-Referenz starten.
- Die Adresse, die gesucht werden muß, steht jetzt als oberste
- Adresse auf dem Adressen-Stack.
-
- Beachten Sie aber, daß Sie die aktuelle Adresse des zu suchenden
- Interrupts immer neu ermitteln müssen, falls sich diese ändert.
-
-