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 bits/32 bits [1] ).
DEBUG puede actuar como un ensamblador , desensamblador o programa de volcado hexadecimal que permite a los usuarios examinar de forma interactiva el contenido de la memoria (en lenguaje ensamblador , hexadecimal o ASCII ), realizar cambios y ejecutar selectivamente archivos COM , EXE y otros tipos de archivos. También tiene varios subcomandos que se utilizan para acceder a sectores específicos del disco , puertos de E/S y direcciones de memoria .
Tradicionalmente, todos los ordenadores y sistemas operativos han incluido una función de mantenimiento, que se utiliza 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 los años 1980, trajo consigo el programa. 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 fue renombrado a DEBUG.EXE
con MS-DOS 3.2. [2]
Windows XP y versiones posteriores se incluyeron DEBUG
en el subsistema MS-DOS para mantener la compatibilidad con MS-DOS. Los comandos DOS de 16 bits no están disponibles en las ediciones de 64 bits de Windows. [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 comandos DEBUG de MS-DOS/PC DOS, pero ofrece muchas mejoras, incluyendo soporte para códigos de operación de 16 bits 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 facilidades de depuración simbólica con registros nombrados, tablas de símbolos cargadas , operaciones matemáticas y conversiones de base , así como un desensamblador de comentarios . [8] [7] Algunas versiones también utilizaban DPMS para funcionar como un depurador en modo protegido de "modo oculto". [9]
La versión FreeDOS de DEBUG fue desarrollada por Paul Vojta y está licenciada bajo la Licencia MIT . [10]
También existe una versión clonada de 32 bits "DEBUGX" que admite programas DPMI de 32 bits . [11] Andreas "Japheth" Grech, el autor del extensor HX DOS , desarrolló versiones mejoradas de DEBUG 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 de solicitud DEBUG con un "-". El usuario puede introducir uno de los varios subcomandos de una o dos letras, entre los que se incluyen "A" para entrar en el modo ensamblador, "D" para realizar un volcado hexadecimal , "T" para rastrear y "U" para desensamblar (desensamblar) un programa en la 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 en el que 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 del 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 extendido con ?? desde el indicador de depuración. Esto le proporcionará ocho pantallas llenas de ayuda sobre sintaxis y funciones. Algunas de estas funciones también eran compatibles con versiones anteriores. […]
{{cite book}}
: |work=
ignorado ( ayuda ) (NB. NWDOSTIP.TXT es un trabajo exhaustivo sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características y componentes internos no documentados. Es parte de la colección MPDOSTIP.ZIP aún más grande del autor, mantenida hasta 2001 y distribuida en muchos sitios en ese momento. El enlace provisto apunta a una versión anterior convertida a HTML del archivo NWDOSTIP.TXT).{{cite book}}
: |work=
ignorado ( ayuda )