Debug (Befehl) - Debug (command)

Debuggen
Dosbox 001.png
Originalautor(en) Tim Paterson
Entwickler Microsoft , IBM , Digital Research , Novell , Caldera
Geschrieben in MS-DOS : x86-Assemblersprache
Betriebssystem DOS , OS/2 , Windows
Typ Debugger
Lizenz MS-DOS v2.0, FreeDOS: MIT
OS/2, Windows: Proprietäre Software
Webseite Debuggen

Der zeilenorientierte Debugger DEBUG ist ein externer Befehl in Betriebssystemen wie DOS , OS/2 und Windows (nur in 16-Bit/32-Bit-Versionen).

DEBUG kann als Assembler- , Disassembler- oder Hex-Dump- Programm fungieren , das es Benutzern ermöglicht, den Speicherinhalt (in Assembler , Hexadezimal oder ASCII ) interaktiv zu untersuchen , Änderungen vorzunehmen und selektiv COM , EXE und andere Dateitypen auszuführen . Es hat auch mehrere Unterbefehle, die verwendet werden, um auf bestimmte Festplattensektoren , E/A-Ports und Speicheradressen zuzugreifen .

Überblick

DEBUG.COM(unter anderen Befehlen) in IBM PC DOS 1.0.
Der Microsoft Windows 95- debug Befehl

Traditionell verfügen alle Computer und Betriebssysteme über eine Wartungsfunktion, mit der festgestellt wird, ob ein Programm ordnungsgemäß funktioniert. DEBUG wurde ursprünglich von Tim Paterson geschrieben , um diesem Zweck in 86-DOS zu dienen . Als Paterson Anfang der 1980er Jahre bei Microsoft anfing, brachte er das Programm mit. DEBUG war Teil von DOS 1.00 und ist in MS-DOS / PC DOS und bestimmten Versionen von Microsoft Windows enthalten . Ursprünglich DEBUG.COM genannt, wurde die ausführbare Datei mit DOS 5.0 in DEBUG.EXE umbenannt.

Windows XP und höhere Versionen sind DEBUGfür das MS-DOS-Subsystem enthalten , um die MS-DOS-Kompatibilität aufrechtzuerhalten. Die 16-Bit-DOS-Befehle sind in 64-Bit- Editionen von Windows nicht verfügbar .

Das MS-DOS/PC DOS DEBUG hat mehrere Einschränkungen:

  • Im Assemblierungs-/Disassemblierungsmodus unterstützt es nur 8086- Opcodes.
  • Es kann nur auf 16-Bit- Register und nicht auf erweiterte 32-Bit-Register zugreifen .
  • Wenn das „N“ subcommand für Benennung von Dateien verwendet wird, wird der Dateiname aus gespeicherten Offset - DS : 5D DS: 67 (der Segment Programm Präfix Dateisteuerblock - Bereich), was bedeutet , dass das Programm nur speichern Dateien in FAT 8.3 - Dateinamen - Format.

Zu den erweiterten DEBUG-Paketen gehört der DEBUG-Befehl in Novell DOS 7 , OpenDOS 7.01 und DR-DOS 7.02 und höher, eine Neuimplementierung des früheren Symbolic Instruction Debugger SID/SID86 von Digital Research , der mit früheren Versionen von DR DOS geliefert wurde . Es ist vollständig kompatibel mit der DEBUG-Befehlszeilensyntax von MS-DOS/PC DOS, bietet jedoch viele Verbesserungen, einschließlich der Unterstützung von 16-Bit- und 32-Bit-Opcodes bis hin zum Pentium , einem erweiterten Modus (/X) mit Dutzenden von zusätzlichen Befehlen und Untermodi, eine stark verbesserte Befehlszeilensyntax mit benutzerdefinierbaren Makros und symbolischen Debugging-Funktionen mit benannten Registern, geladenen Symboltabellen , mathematischen Operationen und Basiskonvertierungen sowie einem kommentierenden Disassembler . Einige Versionen verwendeten auch DPMS, um als Debugger für den geschützten Modus im "Stealth-Modus" zu funktionieren.

Die FreeDOS- Version von DEBUG wurde von Paul Vojta entwickelt und steht unter der MIT-Lizenz .

Es existiert auch eine 32-Bit-Clone "DEBUGX"-Version, die 32-Bit- DPMI- Programme unterstützt. Andreas "Japheth" Grech, der Autor des HX-DOS-Extenders , entwickelte verbesserte DEBUG-Versionen 0.98 bis 1.25, und der ehemalige PC-DOS- Entwickler Vernon C. Brooks fügte die Versionen 1.26 bis 1.32 hinzu.

Syntax

DEBUG [[drive:][path] filename [parameters]]

Wenn DEBUG ohne Parameter gestartet wird, erscheint in der DEBUG-Eingabeaufforderung ein "-". Der Benutzer kann dann einen von mehreren ein- oder zweibuchstabigen Unterbefehlen eingeben, einschließlich "A", um in den Assembler-Modus zu gelangen, "D", um einen hexadezimalen Dump durchzuführen , "T" zum Verfolgen und "U" zum Deassemblieren (Disassemblieren) eines Programms in Erinnerung. DEBUG kann mit der folgenden Syntax auch als "DEBUG-Skript" -Interpreter verwendet werden.

DEBUG < filename

Eine Skriptdatei kann DEBUG-Unterbefehle und Anweisungen in Assemblersprache enthalten. Diese Methode kann verwendet werden, um Binärdateien aus Batchdateien zu erstellen oder zu bearbeiten .

Verwendung für Nicht-Debugging-Zwecke

Das DEBUG-Dienstprogramm ist nützlich, um Binärdateien in einer Umgebung zu bearbeiten, in der nur DOS ohne etwas anderes installiert ist. Es kann auch zum Bearbeiten von Festplattensektoren verwendet werden, was eine Methode zum Entfernen von Bootsektorviren ist.

Verfügbarkeit

Obwohl die technische Dokumentation für den DEBUG-Befehl mit der Veröffentlichung von MS/DOS 3.3 entfernt wurde, wurde der Befehl im Gegensatz zu EXE2BIN in der Standarddistribution beibehalten .

DEBUG in anderen Betriebssystemen

Auch die Betriebssysteme Intel ISIS-II und iRMX 86 , DEC TOPS-10 und TOPS-20 , THEOS/OASIS , Zilog Z80-RIO , Stratus OpenVOS , PC-MOS und AROS stellen einen DEBUGBefehl zur Verfügung.

Siehe auch

Verweise

Externe Links