El depurador orientado a líneas DEBUG
es un comando externo en sistemas operativos como DOS , OS / 2 y Windows (solo en versiones de 16 bits / 32 bits [1] ).
Autor (es) original (es) | Tim Paterson |
---|---|
Desarrollador (es) | Microsoft , IBM , Investigación digital , Novell , Caldera |
Escrito en | MS-DOS : lenguaje ensamblador x86 |
Sistema operativo | DOS , OS / 2 , Windows |
Tipo | Depurador |
Sitio web | DEPURAR |
DEBUG puede actuar como un programa ensamblador , desensamblador o 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 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 .
Descripción general
Tradicionalmente, todas las computadoras 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 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 en ciertas versiones de Microsoft Windows . Originalmente llamado DEBUG.COM, el ejecutable fue renombrado a DEBUG.EXE con DOS 5.0. [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 64 bits de Windows. [3]
El DEBUG de MS-DOS / PC DOS tiene varias limitaciones:
- En los modos de montaje / desmontaje, solo admite códigos de operación 8086 .
- Solo puede acceder a registros de 16 bits y no a registros extendidos de 32 bits.
- Cuando se utiliza el subcomando "N" para nombrar los archivos, el nombre del archivo se almacena a partir de desplazamiento DS : 5D a DS: 67 (el segmento de programa Prefijo del archivo bloque de control de área), lo que significa que el programa sólo puede guardar archivos en FAT nombre de archivo 8.3 formato.
Los paquetes DEBUG mejorados incluyen el comando DEBUG en Novell DOS 7 , OpenDOS 7.01 y DR-DOS 7.02 y superior, una reimplementación del antiguo Depurador de instrucciones simbólicas de Digital Research SID / SID86, [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, 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 muy 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 base , así como un desensamblador de comentarios . [8] [7] Algunas versiones también utilizaron DPMS para funcionar como un depurador en modo protegido "modo sigiloso". [9]
La versión FreeDOS de DEBUG fue desarrollada por Paul Vojta. [10]
También existe una versión clon de 32 bits "DEBUGX" que admite programas DPMI de 32 bits . [11] Andreas "Japheth" Grech, el autor del extensor HX DOS , desarrolló las 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]
Sintaxis
DEBUG [[unidad:] [ruta] nombre de archivo [parámetros]]
Cuando DEBUG se inicia sin ningún parámetro, aparece el mensaje DEBUG, un "-". Luego, el usuario puede ingresar uno de varios subcomandos de una o dos letras, incluyendo "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 un intérprete de "script DEBUG" utilizando la siguiente sintaxis.
DEBUG < filename
Un archivo de secuencia de comandos 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]
Usar con fines que no sean de depuración
La utilidad DEBUG es útil para editar archivos binarios en un entorno donde solo se instala DOS sin nada más. También se puede utilizar para editar sectores de disco, que es un método para eliminar virus del sector de arranque.
Disponibilidad
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] [16]
DEBUG en otros sistemas operativos
Los sistemas operativos Intel ISIS-II [17] e iRMX 86 , [18] DEC TOPS-10 [19] y TOPS-20 , [20] THEOS / OASIS , [21] Zilog Z80-RIO , [22] Stratus OpenVOS , [23] PC-MOS , [24] y AROS [25] también proporcionan un DEBUG
comando.
Ver también
- Lista de comandos de DOS
- DDT (comando CP / M) (técnica de depuración dinámica)
- SID (depurador de instrucciones simbólicas)
- SYMDEB
- CodeView
- Turbo depurador
- Hielo suave
Referencias
- ^ Según la referencia de ensamblador de macros de Microsoft , el ensamblaje en línea no es compatible con x64.
- ^ a b Sedory, Daniel B. "Una guía para DEBUG" . Consultado el 29 de noviembre de 2014 .
- ^ Comandos del subsistema MS-DOS
- ^ Guía del usuario de SID-86 para CP / M-86 (2 ed.). Investigación digital . Agosto de 1982 [marzo de 1982]. SID86UG.WS4. Archivado desde el original el 20 de octubre de 2019 . Consultado el 6 de febrero de 2020 . [1] (NB. Una versión reescrita del manual por Emmanuel Roche con los comandos Q, SR y Z agregados. Este manual es para la versión CP / M-86 , pero la versión DR DOS es similar).
- ^ Nacido, Günter (1993). DOS 6 Tuning (en alemán) (1 ed.). Markt & Technik . ISBN 3-87791-495-0.(NB. Tiene varias páginas en MS-DOS DEBUG.EXE, así como en el depurador de instrucciones simbólicas SID.EXE en DR DOS 5.0 / 6.0 .)
- ^ Paul, Matthias R. (24 de mayo de 1997) [1991]. DRDOSTIP.TXT - Consejos y trucos para DR DOS 3.41 - 5.0 . MPDOSTIP (en alemán) (47 ed.). Archivado desde el original el 7 de noviembre de 2016 . Consultado el 7 de noviembre de 2016 .(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.)
- ^ a b Paul, Matthias R. (9 de enero de 2002). "SID86" . Grupo de noticias : comp.os.cpm . Consultado el 8 de abril de 2018 .
[…] Dado que DR-DOS 7.03 DEBUG 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 de sintaxis y funciones. Algunas de estas funciones también fueron compatibles con problemas anteriores. […]
- ^ Paul, Matthias R. (30 de julio de 1997). "Kapitel II.5. Allgemeines: Undokumentierte Möglichkeiten von DEBUG" [Características indocumentadas de DEBUG]. NWDOS-TIPs - Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds . MPDOSTIP . Release 157 (en alemán) (3 ed.). Archivado desde el original el 10 de septiembre de 2017 . Consultado el 6 de septiembre de 2014 .(NB. NWDOSTIP.TXT es un trabajo completo sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características y funciones internas no documentadas. Es parte de la colección MPDOSTIP.ZIP aún más grande del autor, mantenida hasta 2001 y distribuida en muchos sitios en el tiempo. El enlace proporcionado apunta a una versión anterior convertida en HTML del archivo NWDOSTIP.TXT).
- ^ Paul, Matthias R. (9 de abril de 2001). NWDOS-TIPs - Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds . MPDOSTIP . Release 183 (en alemán) (3 ed.).
- ^ http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/debug.html
- ^ Vojta, Paul. "LÉAME DE DEPURACIÓN" . Archivado desde el original el 24 de agosto de 2007 . Consultado el 25 de junio de 2007 .
- ^ Brooks, Vernon C. (8 de abril de 2014). "DEBUG mejorado para PC DOS y MS-DOS" . PC DOS Retro . Archivado desde el original el 21 de febrero de 2020 . Consultado el 8 de mayo de 2014 .
- ^ "Artículo de depuración de Microsoft TechNet" . Consultado el 23 de abril de 2008 .
- ^ Irvine, Kip R. (2010). "Uso de depuración". Lenguaje ensamblador para computadoras basadas en Intel (PDF) (6.a ed.). Prentice Hall . ISBN 978-0-13602212-1. Consultado el 18 de marzo de 2014 .
- ^ Asael Dror (12 de enero de 1988). "Gracias, IBM". Revista de PC . pag. 366.
- ^ el comando real ya no estaba en el disquete de DOS, solo en el disquete de pago extra
- ^ Guía del usuario de ISIS II
- ^ Manual de referencia del operador y de introducción del iRMX 86 para la versión 6
- ^ Manual de comandos del sistema operativo TOPS-10 (PDF) . Corporación de Equipos Digitales. Agosto de 1980 . Consultado el 17 de febrero de 2019 .
- ^ "Manual de comandos de TOPS-20" (PDF) .
- ^ Manual del usuario de THEOS / OASIS
- ^ Manual del usuario del sistema operativo Z80-RIO
- ^ http://stratadoc.stratus.com/vos/19.1.0/r098-19/wwhelp/wwhimpl/common/html/r098-19.pdf
- ^ Guía del usuario de PC-MOS
- ^ http://aros.sourceforge.net/documentation/users/shell/index.php
enlaces externos
- Depurar | Documentos de Microsoft
- Implementación DEBUG de código abierto que viene con MS-DOS v2.0