Академический Документы
Профессиональный Документы
Культура Документы
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 extensin, todos los programas y utilidades que sirven para escudriar los datos y el cdigo a bajo nivel, se identifican genricamente con esta denominacin.
En ingls
-? assemble compare dump enter fill go hex input Move name output proceed quit register search trace unassemble write A [address] C range address D [range] E address [list] F range list G [=address] [addresses] H value1 value2 (Learn 2's Complement!) I port load L [address] [drive] [firstsector] [number] M range address N [pathname] [arglist] O port byte P [=address] [number] Q . . . . . . . . . (Learn this first!) R [register] S range list T [=address] [number] U [range] 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
MEMORIA
0CD5
Segmento de Cdigo Segmento de Datos Segmento de Stack Segmento Extra Activos (64kbyte)
CS DS SS ES AX BX CX DX SP BP SI DI
0000
Flags
FFFFFH
D ("Dump") permite obtener un volcado del contenido de la memoria (de debug). La sintaxis acepta dos formas:
D [direccin-inicial] [L posiciones-desde-direccininicial ] D [direccion-inicial][direccion-final]
En este caso el comando solo muestra una lnea 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 direccin, sin indicar ningn nmero de posiciones, por defecto se toma el valor 128 (8 filas de 16 posiciones). Si desea una cantidad distinta, hay que aadir una L ("Long") y el nmero de posiciones, hasta un mximo 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:
-E DS:200 ASCII
-D DS:200 204 0CDE:0200 41 53 43 49 49
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
-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.
Comando S ("Search").
Existen dos sintaxis alternativas: S [direccin-de-inicio] [L longitud-a-explorar] [contenido-a-buscar] S [direccin-de-inicio] [direccin-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 caractersticas de la BIOS en un equipo IBM. Se que estos datos se alojan a partir de la posicin F000:0000 hasta el final de la memoria. Es decir, una longitud de 64 Kbytes (FFFF) a partir de la posicin de inicio, y que seguramente, los datos buscados estarn cerca de la identificacin de la propia BIOS (la cadena "IBM"). Por lo que utilizo la siguiente sintaxis: -S F000:0000 L FFFF "IBM"
Comando S ("Search").
y obtendramos 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. Despus del ltimo, que debe ser una "Q" para salir de debug, es conveniente dejar una lnea en blanco pulsando INTRO dos veces. Las lneas pueden contener comentarios. Cualquier cosa a partir del carcter punto y coma (;) hasta el final de la lnea, 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 redireccin en la siguiente forma: DEBUG < Ordenes.txt Tambin puede conseguirse que el programa redireccione la salida hacia un fichero que puede ser inspeccionado ms 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 podra obtenerse un fichero Result.txt con el siguiente comando: DEBUG < Ordenes.txt > Result.txt