El depurador orientado a líneas DEBUG.EXE
es un comando externo en sistemas operativos como DOS , OS/2 y Windows (sólo en versiones de 16/32 bits [1] ).
DEBUG puede actuar como un programa ensamblador , desensamblador o volcado hexadecimal que permite a los usuarios examinar interactivamente el contenido de la memoria (en lenguaje ensamblador , hexadecimal o ASCII ), realizar cambios y ejecutar selectivamente COM , EXE y otros tipos de archivos. También tiene varios subcomandos que se utilizan para acceder a sectores de disco específicos , puertos de E/S y direcciones de memoria .
Tradicionalmente, todos los ordenadores y sistemas operativos han incluido una función de mantenimiento, utilizada para determinar si un programa está funcionando correctamente. [ cita requerida ] DEBUG fue escrito originalmente por Tim Paterson para cumplir este propósito en 86-DOS . Cuando Paterson comenzó a trabajar para Microsoft a principios de la década de 1980, trajo el programa consigo. DEBUG era parte de DOS 1.00 y se ha incluido en MS-DOS / PC DOS y ciertas versiones de Microsoft Windows . Originalmente llamado DEBUG.COM
, el ejecutable pasó a llamarse DEBUG.EXE
MS-DOS 3.2. [2]
Windows XP y versiones posteriores incluidas DEBUG
para el subsistema MS-DOS para mantener la compatibilidad con MS-DOS. Los comandos de DOS de 16 bits no están disponibles en las ediciones de Windows de 64 bits . [3]
El DEBUG de MS-DOS/PC DOS tiene varias limitaciones:
Los paquetes DEBUG mejorados incluyen el comando DEBUG en Novell DOS 7 , OpenDOS 7.01 y DR-DOS 7.02 y superiores, una reimplementación del antiguo depurador de instrucciones simbólicas SID/SID86 de Digital Research , [4] que venía con versiones anteriores de DR DOS . [5] [6] [7] Es totalmente compatible con la sintaxis de línea de comando DEBUG de MS-DOS/PC DOS, pero ofrece muchas mejoras, incluida la compatibilidad con códigos de operación de 16 y 32 bits hasta Pentium , un modo extendido (/X) con docenas de comandos y submodos adicionales, una sintaxis de línea de comandos mucho mejorada con macros definibles por el usuario y funciones de depuración simbólica con registros con nombre, tablas de símbolos cargadas , operaciones matemáticas y conversiones de bases , así como un desensamblador de comentarios . [8] [7] Algunas versiones también utilizaban DPMS para funcionar como un depurador de modo protegido en "modo oculto". [9]
La versión FreeDOS de DEBUG fue desarrollada por Paul Vojta y tiene la licencia MIT . [10]
También existe una versión clonada "DEBUGX" de 32 bits que admite programas DPMI de 32 bits . [11] Andreas "Japheth" Grech, el autor del extensor HX DOS , desarrolló versiones DEBUG mejoradas 0.98 a 1.25, y el ex desarrollador de PC DOS Vernon C. Brooks agregó las versiones 1.26 a 1.32. [12]
DEBUG [[unidad:][ruta] nombre de archivo [parámetros]]
Cuando se inicia DEBUG sin ningún parámetro, aparece el mensaje DEBUG y aparece un "-". Luego, el usuario puede ingresar uno de varios subcomandos de una o dos letras, incluido "A" para ingresar al modo ensamblador, "D" para realizar un volcado hexadecimal , "T" para rastrear y "U" para desensamblar (desensamblar) un programa. en memoria. [13] DEBUG también se puede utilizar como intérprete de "script DEBUG" utilizando la siguiente sintaxis.
DEBUG < filename
Un archivo de script puede contener subcomandos DEBUG e instrucciones en lenguaje ensamblador. [14] Este método se puede utilizar para crear o editar archivos binarios a partir de archivos por lotes . [2]
La utilidad DEBUG es útil para editar archivos binarios en un entorno donde solo está instalado DOS sin nada más. También se puede utilizar para editar sectores del disco, que es un método para eliminar virus del sector de arranque.
Aunque la documentación técnica para el comando DEBUG se eliminó con el lanzamiento de MS-DOS 3.3, el comando se mantuvo en la distribución estándar, a diferencia de lo que se hizo con EXE2BIN . [15]
Los sistemas operativos Intel ISIS-II [16] e iRMX 86 , [17] DEC TOPS-10 [18] y TOPS-20 , [19] THEOS/OASIS , [20] Zilog Z80-RIO , [21] Stratus OpenVOS , [22] PC-MOS , [23] y AROS [24] también proporcionan un DEBUG
comando.
{{cite book}}
: |work=
ignorado ( ayuda ) (NB. Tiene información sobre el depurador de instrucciones simbólicas (SID86.EXE en DR DOS 3.41 y SID.EXE en DR DOS 5.0/6.0), el predecesor de DR-DOS DEBUG.EXE).[…] Dado que el DEBUG
de DR-DOS 7.03
todavía se basa en el antiguo SID86.EXE, sugiero ejecutar DEBUG 1.51 e ingresar al sistema de ayuda extendida con ??
desde el mensaje de depuración.
Esto le brindará ocho pantallas llenas de sintaxis y ayuda sobre funciones.
Algunas de estas funciones también eran compatibles con ediciones anteriores.
[…]
{{cite book}}
: |work=
ignorado ( ayuda ) (NB. NWDOSTIP.TXT es un trabajo completo sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características e componentes internos no documentados. Es parte de la colección MPDOSTIP.ZIP aún más grande del autor mantenida hasta 2001 y distribuido en muchos sitios en ese momento. El enlace proporcionado apunta a una versión anterior convertida a HTML del archivo NWDOSTIP.TXT).{{cite book}}
: |work=
ignorado ( ayuda )