CodeView - CodeView

CodeView
Autor (es) original (es) David Norris
Desarrollador (es) Microsoft
Versión inicial 1985 ; Hace 36 años ( 1985 )
Sistema operativo MS-DOS
Plataforma x86
Escribe Depurador

CodeView es un depurador independiente creado por David Norris en Microsoft en 1985 como parte de su conjunto de herramientas de desarrollo. Originalmente se envió con Microsoft C 4.0 y versiones posteriores. También se envió con Visual Basic para MS-DOS , Microsoft BASIC PDS y varios otros productos de idiomas de Microsoft. Fue uno de los primeros depuradores de MS-DOS en estar orientado a pantalla completa, en lugar de orientado a líneas (como los predecesores de Microsoft DEBUG y SYMDEB o SID de Digital Research ).

Visión general

Cuando se ejecuta, CodeView presenta al usuario varias ventanas que se pueden colocar en mosaico, mover, dimensionar y manipular de otra manera mediante el teclado o el mouse, y CodeView 4.x proporciona una interfaz más rica. Algunas de las ventanas incluyen:

  • Ventana de código: la ventana de código mostraba el código actualmente depurado en su contexto de código fuente .
  • Ventana de datos: un volcado hexadecimal de un área de memoria especificada por el usuario.
  • Ventana de observación: una visualización contextual de las variables por nombre.
  • Ventana de locales: una visualización contextual de las variables locales de la función actual.
  • Ventana de comandos: aquí se pueden ingresar comandos de usuario (que utilizan la misma sintaxis o similar a DEBUG y SYMDEB).
  • Ventana de ensamblaje: se muestra el ensamblaje (código de máquina), lo que permite realizar funciones en un solo paso.
  • Ventana de registro: para visualizar el contenido del registro de 80x86 , incluidos los segmentos, las banderas y la FPU (CodeView existía antes de MMX y otras extensiones SIMD ).
  • Ventana de salida: una ventana que muestra las operaciones de inicio y la información de depuración relacionada con los puntos de interrupción, las interrupciones del hardware (interrupción 0 y 3), etc.

Características

  • Modo 386: procesadores 8086, 80286 y 80386 y posteriores. El modo mejorado 386 se activa mediante una opción de menú, lo que permite registros y desmontaje de 32 bits.
  • Compatibilidad con monitores monocromáticos: permite la depuración en un monitor de un solo color (CGA, EGA o VGA) con intercambio de página / memoria entre la aplicación de usuario y la pantalla CodeView, o utilizando un monitor monocromo separado. El monitor monocromo existe en el espacio de direcciones de memoria 0xb0000, mientras que el monitor a color existe en 0xb8000 para texto y 0xa0000 para gráficos. El uso del monitor monocromático con su espacio de direcciones de memoria separado permite depurar aplicaciones de gráficos sin afectar la pantalla, así como todos los modos de texto. Los monitores monocromáticos están limitados a 25 líneas, mientras que los monitores a color permiten el modo de 25, 43 o 50 líneas, lo que permite más información en la pantalla al mismo tiempo.

La creación de una salida de depuración simbólica, que permite que las ubicaciones de la memoria se vean por su nombre asignado por el programador, junto con una base de datos del programa que muestra la línea de código fuente relacionada con cada instrucción de computadora en el ejecutable binario, se habilita mediante el interruptor de línea de comando -Zi dado a el compilador y -CO dado al enlazador. Variantes como -Zs y -Zd proporcionan menor información y archivos de salida más pequeños que, a principios de la década de 1990, eran importantes debido a los recursos limitados de la máquina, como la memoria y la capacidad del disco duro. Muchos sistemas en esos días tenían 8 MB de memoria o menos.

CodeView maneja todos los modelos de programa, incluidos TINY, SMALL, COMPACT, MEDIUM, LARGE y HUGE, con TINY (archivos .COM basados ​​en DOS) que tienen su información simbólica del depurador almacenada en un archivo separado, con todos los demás formatos .EXE que contienen el información simbólica directamente dentro del ejecutable. Esto a menudo introducía un aumento de tamaño notable y, por lo tanto, era deseable que algunos desarrolladores usaran conmutadores #pragma dentro de su código fuente C (y luego C ++) para evitar que la mayoría de la aplicación tuviera una salida simbólica y, en cambio, limitar esa salida a solo aquellas partes que lo requirieron para la depuración actual.

CodeView versión 3.xy 4.x introdujo varias capas de transporte, que eliminaron algunas de las limitaciones de espacio de memoria para esta forma de depuración simbólica. Por lo general, el depurador se ejecuta en el espacio de memoria inferior de 640 KB junto con la aplicación que se depura, lo que reduce en gran medida la cantidad de memoria disponible para la aplicación que se depura. La capa de transporte permite que solo exista un stub en la memoria principal, mientras que la mayor parte del código del depurador reside en EMS o XMS (memoria por encima de la barrera de 1 MB, o fuera del espacio de direcciones normal de 0 KB a 640 KB que suelen utilizar los programas de DOS ). CodeView también vino con una utilidad de línea de comandos CVPACK, que puede reducir el tamaño de la información generada por CodeView internamente, mientras conserva el acceso simbólico completo a los datos.

Soporte Visual C ++

Microsoft lanzó Visual C ++ 1.0 con la funcionalidad CodeView integrada directamente en un único entorno de programación, conocido como el Entorno de desarrollo integrado (IDE), aunque CodeView todavía estaba disponible en las versiones de 16 bits de Visual C ++. QuickC y una serie de otras herramientas de desarrollo de la serie 'Quick' también apoyaron este cambio a un IDE de fuente única, lo que se convirtió en el precursor del entorno de desarrollo moderno de Visual Studio, así como en el modelo para innumerables otros conjuntos de herramientas para desarrolladores.

Muchos desarrolladores vieron esta integración como una forma más natural de desarrollar software porque tanto la codificación como la depuración se podían manejar sin cambiar de programa o contexto, y todo desde la misma ubicación lógica (aunque internamente se ejecutaban muchos programas separados para admitir la edición, compilación y depuración). Como resultado, la mayoría de las herramientas y / o plataformas de desarrollo ofrecen productos o características similares.

Hoy en día, el depurador se considera una parte integral y esencial de la familia de productos Microsoft Visual Studio , y debe sus verdaderas raíces a CodeView y las mejoras que se ven en la versión 4.x específicamente.

Symdeb

Otro producto de depuración disponible en Microsoft a mediados de la década de 1980 fue SYMDEB .

Tenía más de 30 comandos y PC Magazine lo describió como un paso adelante de DEBUG. Codeview, a su vez, se describió como "un SYMDEB de pantalla completa".

Ver también

Referencias

Otras lecturas