El programa Debug.

Slides:



Advertisements
Presentaciones similares
Manejo de archivos.
Advertisements

Comandos Sencillos.
DEBUG.EXE.
3. EJERCICIOS PRÁCTICOS Práctica 1
Envío de Informes Trimestrales de Dotación de Personal
PARTICIONAMIENTO DEL DISCO DURO
CORREO INTERNO. El módulo de correo interno proporciona un método de comunicación simple entre usuarios (Estudiantes- tutores), mediante el envío de mensajes.
Al abrir el Access aparece una ventana para crear una base en blanco, con la ayuda de un asistente o abrir una existente. Al principio optamos por la primera.
TUTORIAL YOUTUBE ANA ROMANO 07/04/2014. La página de acceso a youtube en español es una vez en ella tendremos que registrarnos.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
PASOS PARA EL FORMATEO DE UN PC
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
PROG. EN ENSAMBLADOR Ing. Pablo Cesar Tapia Catacora.
Archivos. fopen(...) Para comenzar a utilizar un archivo primero se debe abrir, invocando a la función fopen(...) FILE * fopen(char* nombre_arch, char*
Introducción al lenguaje ensamblador
Tema 2: INTRUCCIONES Profesor: Carlos Concha S LENGUAJES DE BAJO NIVEL.
Windows XP Windows XP (cuyo nombre en clave inicial fue Whistler) fue hecho público el 25 de octubre de 2001 por Microsoft. Microsoft inicialmente sacó.
Encendemos nuestro equipo, rapidamente presionaremos la tecla F2 para accesar al BIOS, esta tecla puede ser diferente en cada cmputadora, como por ejemplo:
Tema 2: Los tipos de datos
Administración de Archivos
TRINO ANDRADE G UNIVERSIDAD ECOTEC. PRESENTACIÓN DE OUTLOOK EXPRESS Microsoft Outlook Express es una herramienta necesaria que le permite administrar.
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
Informática Ingeniería en Electrónica y Automática Industrial
Sistemas decimal, binario, octal y hexadecimal
Conceptos Arquitectónicos del computador
Grupo N° 5 Integrantes: Kathia Mariela Carrillo William Alexis Mendoza
Practicas comunes en sistemas operativos. Unidad 5.
PBN © Jaime Alberto Parra Plaza CLASE 5 LOS SEGMENTOS.
Sistema de Archivos Hernández Martinez Sonia Lizbeth
Tutorial de Macro Assembler por Dalimar Velez Vega.
Aplicación de estructuras de datos
Introducción al lenguaje ensamblador
Particionado de discos duros
Estructura de Computadores Comandos DEBUG Programación en Assembler Profesora : Tatiana Marín R.
Manejo de datos en el Paquete Estadístico para las Ciencias Sociales
Capítulo 7 Gestión de memoria.
Tema 1: DATOS Y REGISTROS
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
FILTROS. Un filtro es un programa que recibe una entrada, la procesa y devuelve una salida. Relacionando filtros simples podemos hacer prácticamente cualquier.
introducción al Lenguaje Ensamblador
 En computación es un conjunto de líneas de señal que el microprocesador o CPU utilizan para intercambiar datos con otros componentes como teclados,
MS dos.

Formularios La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con.
TEMA 2: SISTEMAS OPERATIVOS. ENTORNO MONOUSUARIO
EL EXPLORADOR DE WINDOWS
Un ordenador no puede funcionar sin sistema operativo.
Sistemas Operativos Ensamblador. Junio de 2005Cesar Guisado2 Ventajas del Ensamblador La primera razón para trabajar con ensamblador es que proporciona.
 Mantenimiento lógico del pc  Presentado por :  Juliana Ramírez  Paula Andrea villa.
SEMANA 01_2.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
INSTALACIÓN DEL SERVIDOR DHCP.. Windows En primer lugar, en el que será nuestro servidor de DHCP, un equipo con Windows 2003, procederemos a la instalación.
INSTRUCCIONES. El alumno, seguirá los pasos que se le va indicando a continuación. En el recuadro en blanco, debe ir añadiendo un pantallazo con la.
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
TEMA : ARQUITECTURA DE COMPUTADORAS
Paso 1 Introducimos el CD de instalación de Windows XP en la unidad de CD- ROM. Reiniciamos el PC y tenemos que configurar la BIOS para que el ordenador.
Hoja de Cálculo EXCEL Introducción a la informática
1. Describir las bondades de cada uno de los sistemas operativos a instalar y su funcionalidad en el entorno de la oficina, el Hogar, o la educación haciendo.
Introducción a phpMyAdmin
Instalación de un servidor DHCP Tema 2 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto.
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Aprende el arte de la ingeniería inversa
Curso: Fundamentos de Computación
Visual Basic Prof.: Carol Briones García. Uso de Archivos  Definición  Es un conjunto de información que se almacena en algún medio de escritura que.
El microprocesador y su arquitectura
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
ENSAMBLE Y MANTENIMIENTO DE COMPUTADORES MOMENTO 2– FASE 2 IVAN GUILLERMO DUARTE PACHECO - CODIGO: CEAD: Acacias DANIELA LIZETH GUARIN.
Arranque desde CD en modo de no emulación Instalación y Configuración de Computadores, Redes y Periféricos.
D E B U G § Es sencillo de usar y está disponible en cualquier parte § Usted puede empezar sin el conocimiento previo de un lenguaje ensamblador o de uno.
Transcripción de la presentación:

El programa Debug

DEBUG “Bug" significa fallo, defecto en un programa; "debug" significa depurar (escrutar y eliminar fallos).   La palabra ha quedado como verbo (depurar), de la que han derivado otras.  Por ejemplo: "Debugger" (depurador).  Por extensión, todos los programas y utilidades que sirven para escudriñar los datos y el código a bajo nivel, se identifican genéricamente con esta denominación.

Comandos usados en el DEBUG ensamblar     A [dirección] comparar      C dirección de intervalo volcar        D [intervalo] escribir      E dirección [lista de valores] llenar        F lista de intervalos ir            G [=dirección] [direcciones] hex           H valor1 valor2 entrada       I puerto cargar        L [dirección] [unidad] [primer_sector] [número] mover         M dirección de intervalo nombre        N [nombre_ruta] [lista_argumentos] salida        O byte de puerto proceder      P [=dirección] [número] salir          Q registrar     R [registrar] buscar        S lista de intervalos seguimiento   T [=dirección] [valor] desensamblar  U [intervalo] escribir      W [dirección] [unidad] [primer_sector] [número] asignar memoria expandida              XA [#páginas] desasignar memoria expandida           XD [identificador] asignar páginas de memoria expandida   XM [Lpágina] [Ppágina] [identificador] mostrar estado de la memoria expandida XS

En inglés -? assemble A [address] compare C range address dump D [range] enter E address [list] fill F range list go G [=address] [addresses] hex H value1 value2 (Learn 2's Complement!) input I port load L [address] [drive] [firstsector] [number] Move M range address name N [pathname] [arglist] output O port byte proceed P [=address] [number] quit Q . . . . . . . . . (Learn this first!) register R [register] search S range list trace T [=address] [number] unassemble U [range] write W [address] [drive] [firstsector] [number]

Comando R (Register) Este comando nos permite examinar o modificar los contenidos de los registros internos de la CPU del 8086 La sintaxis es: -R [NOMBRE DE REGISTRO] .....nos despliega los contenidos del registro especificado -R ...............nos despliega los contenidos de todos los regisTros de la cpu los dos puntos es una invitación a modificar el contenido del registro

CONTENIDOS DE LOS REGISTROS DE LA CPU 00000H MEMORIA 0100 IP 0CD5 Segmento de Código Segmento de Datos Segmento de Stack Segmento Extra Activos (64kbyte) 0CD5 CS 0CD5 DS 0CD5 SS 0CD5 ES 0000 AX 0000 BX 0000 CX 0000 DX FFEE SP 0000 BP 0000 SI 0000 DI 0000 Flags FFFFFH

Comando D (Dump): volcado D ("Dump") permite obtener un volcado del contenido de la memoria (de debug).  La sintaxis acepta dos formas: D [dirección-inicial] [L posiciones-desde-dirección-inicial ] D [direccion-inicial][direccion-final]

Comando D (Dump): volcado Sabemos que el punto de inicio de la BIOS es la dirección F000:FFF0, y que desde esta posición hasta el final de la memoria DOS hay 16 bytes.  Puede obtenerse un volcado de estas posiciones con el siguiente comando: -D F000:FFF0 La salida en mi equipo es: En este caso el comando solo muestra una línea porque ha alcanzado el final de la memoria.  Puede verse que la fecha de la BIOS del sistema ocupa las últimas posiciones.

Si se ordena el volcado de una dirección, sin indicar ningún número de posiciones, por defecto se toma el valor 128 (8 filas de 16 posiciones).  Si desea una cantidad distinta, hay que añadir una L ("Long") y el número de posiciones, hasta un máximo de 64 KB (FFFF).Los dos comandos que siguen son equivalentes (recuerde que 80 es el equivalente hexadecimal de 128): D FE00:0000 D FE00:0000 L 80 He aquí el resultado: Sabemos que esta zona corresponde al área de la BIOS del Sistema...

Comando Enter (E) -E DS:200 “ASCII” Cargando datos ASCII en la memoria con el comando Enter -E DS:200 “ASCII” -D DS:200 204 0CDE:0200 41 53 43 49 49

COMANDOS L (LOAD) Y Write (W) Para leer/escribir el contenido de disco a bajo nivel mediante los prefijos L ("Load") y W ("Write"). Se utiliza la siguiente sintaxis: L [Dirección] [Unidad] [Primer_sector] [Número] W [Dirección] [Unidad] [Primer_sector] [Número] El significado de los parámetros es como sigue: Dirección: Posición de la memoria de debug, a partir de la cual se instalarán los datos leídos del disco, o se tomarán para el proceso de escritura (aquí se utiliza generalmente el valor 100h). Unidad: Valor numérico que indica la lógica a utilizar. 0 = A:; 1 = B:; 2 = C:; 3 = D:, etc Primer sector: A partir del que se realizará la lectura, o se comenzará a escribir. Número: Número de sectores que se desea cargar/escribir. Como debug no puede leer/escribir más de 64 Kbytes (216 = 65536) y los sectores de disco son de 512 bytes, el máximo número de sectores es 128 (80h). Así pues, el valor máximo aquí es 80.

COMANDOS L (LOAD) Y Write (W) Ejemplo: Para obtener el contenido del sector de arranque ("Master boot sector" MBR) de un disquete en A:, utilizaremos el comando: C:\WINDOWS>debug - L 100 0 0 1 D 100 L 200 Se Desplegará el contenido del sector 0 del disco A, el de arranque

Nombrar y cargar un archivo: N(Name) y L(Load) Si lo que se busca está en un archivo, primero hay que cargarlo. Lo que se puede hacer de dos formas: en la propia invocación de debug, o mediante los comandos N y L. Por ejemplo, si queremos inspeccionar el contenido del fichero more.com, podemos utilizar dos formas: C:\WINDOWS>debug c:\windows\command\more.com C:\WINDOWS>debug - N c:\windows\command\more.com - L La sintaxis para el prefijo N es: N [path-name]nombre-de-archivo En ambos casos el contenido del archivo será cargado en memoria y podrá ser utilizado.

COMPROBAR EL TAMAÑO DEL ARCHIVO CARGADO Para ello usamos la opción R (ver estado de los registros) y obtenemos el siguiente resultado: -R AX=0000 BX=0000 CX=2917 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=17A7 ES=17A7 SS=17A7 CS=17A7 IP=0100 NV UP EI PL NZ NA PO NC 17A7:0100 E8CD0F CALL 10D0 - Aquí nos interesa especialmente el contenido del registro CX, cuyo valor, 2917h (1519d) en este caso, señala el tamaño del fichero en bytes. También podíamos haber utilizado directamente el comando R CX que nos proporciona el valor de dicho registro: -R CX CX 2917 : -

Comando S ("Search"). Existen dos sintaxis alternativas: S [dirección-de-inicio] [L longitud-a-explorar] [contenido-a-buscar] S [dirección-de-inicio] [dirección-final L] [contenido-a-buscar] El contenido a buscar debe darse en hexadecimal o entre comillas si es un texto ASCII. Por ejemplo: Se desea ver algunas características de la BIOS en un equipo IBM. Se que estos datos se alojan a partir de la posición F000:0000 hasta el final de la memoria. Es decir, una longitud de 64 Kbytes (FFFF) a partir de la posición de inicio, y que seguramente, los datos buscados estarán cerca de la identificación de la propia BIOS (la cadena "IBM"). Por lo que utilizo la siguiente sintaxis: -S F000:0000 L FFFF "IBM"

Comando S ("Search"). y obtendríamos la siguiente salida: F000:3A0C F000:3A70 F000:3B13 F000:4839 F000:48BA F000:492A F000:499A F000:4A0A con las direcciones donde se ha encontrado la ocurrencia buscada

El debug puede aceptar entradas desde un fichero "Script", que puede ser un simple fichero de texto ASCII en el que cada comando esté separado del anterior por un INTRO. Después del último, que debe ser una "Q" para salir de debug, es conveniente dejar una línea en blanco pulsando INTRO dos veces. Las líneas pueden contener comentarios. Cualquier cosa a partir del carácter punto y coma (;) hasta el final de la línea, será ignorado. ; esto es un comentario D ; aquí se mostrará algo... Suponiendo que tengamos un fichero "Script" de nombre Ordenes.txt, puede ser utilizado como entrada para debug mediante un comando de redirección en la siguiente forma: DEBUG < Ordenes.txt También puede conseguirse que el programa redireccione la salida hacia un fichero que puede ser inspeccionado más tarde. Aunque tiene la dificultad de tener que trabajar "a ciegas", puede ser de utilidad en determinadas circunstancias. Por ejemplo, cuando se desea un volcado de determinadas zonas de la memoria. En el caso anterior podría obtenerse un fichero Result.txt con el siguiente comando: DEBUG < Ordenes.txt > Result.txt