Manual Turbo Debbuger
description
Transcript of Manual Turbo Debbuger
7/18/2019 Manual Turbo Debbuger
http://slidepdf.com/reader/full/manual-turbo-debbuger 1/5
Depuración de programas¿Qué hace un depurador y cómo se utiliza?
Estas preguntas se contestan mucho mejor a través de un ejemplo, pero para dar una respuesta
rápida, un programa depurador nos permite monitorizar y controlar un programa durante su
ejecución. ¿Qué signifca esto? ueno, utilizando el depurador !debugger " podemos decirle alprograma #ue se ejecute hasta una posición de memoria concreta, y #ue nos muestre en ese
momento el contenido de los registros del microprocesador y de la memoria permitiendonos por
tanto analizar cual#uier varia$le #ue estemos empleando.
%ay cuatro pasos $ásicos en la depuración de un programa&
'.( Descubrir que hay un error. ¿%ay errores? )o siempre es o$vio sa$er #ue tienes un $ug.
*.( Aislar el error. ¿+onde está? %ay #ue localizar las partes del código #ue están causando el
allo del programa.
-.( Busqueda del error. ¿Qué está mal en el ragmento de código aislado?
.( Corrección del error. ¿/omo de$emos reescri$ir el ragmento de código erróneo?
El depurador nos da las herramientas necesarioas para dar estos pasos.
Turbo Debugger 0ur$o +e$ugger es una utilidad de depuración con un entorno de ventanas #ue se puede manejar
con el ratón. 1ara arrancar 0ur$o +e$ugger !0+" teclea en la l2nea de comandos +34&
td [ progname[.exe]]
7/18/2019 Manual Turbo Debbuger
http://slidepdf.com/reader/full/manual-turbo-debbuger 3/5
Vistazo general
5a ventana principal de 0+ muestra una $arra de men6 estandar en la parte superior. En este
menu podemos encontrar los campos File, Edit, View, Run, Breakpoint, Data, Options, Windows,
Help. 5a $arra de estado en la parte inerior de la ventana de 0+ contiene inormación muy
interesante acerca del conte7to actual. 1or ejemplo, muestra a menudo la lista de todas las
unciones asociadas con las teclas de unción F1 a F10. 1or ejemplo F9 es el comando 8Run8. 5o
#ue signifcan esas unciones estará disponi$le en el conte7to actual.
Ventanas
+entro de la ventana principal de 0+ tenemos una variedad de su$(ventanas. En cual#uier
momento pueden estar activas varias de ellas. /asda ventana activa es numerada !', *, -, etc." y
ese n6mero se muestra en la es#uina superior derecha de la ventana. 9ás a$ajo descri$iremos
estas ventanas y comentaremos como se manejan. :6n cuando puede ha$er varias ventanas, hay
una #ue estarán encima de las demás. Esta ventana tendrá un pe#ue;o rectángulo verde en la
es#uina superior iz#uierda. 4e puede cerrar la ventana pulsando con el ratón en ese rectángulol 5a
tecla de unción F6 !Next " permite modifcar la ventana #ue está encima de las demás.
Ayuda Online
<a hemos mencionado el menu Help !desplega$le". 1ero hay ayudas más inmediatas o sensi$les al
conte7to&
arra de estado
5a $arra de estado muestra ha$itualmente la lista de las unciones asociadad con las '= teclas
de unción, 1ero si mantienes pulsada la tecla Alt, mostrará las unciones asociadas con la
com$inación Alt > las teclas de unción. 1or ejemplo, AltF! es la unción de 8User screen8 o
pantalla de usuario. 1rué$ala@ Es muy 6til si necesitas ver cual#uier salida del código #ue se
depura. 1ara volver a la pantalla de 0+ pulsa cual#uier tecla.
4i mantienes pulsada la tecla Ctrl mostrará las unciones asociadas a la com$inación Ctrl"
teclas de unción. 1or ejemplo& Ctrl# nos permite inspeccionar la varia$le #ue es apuntada por el
cursor
0ecla F1
Esta tecla a$re una ventana de ayuda #ue contiene inormación acerca de la ventana #ue está
encima de las demás, con una serie de puntos para elegir.
4peed menu
1uede ser invocado con una pulsación del $otón derecho del ratón. En la mayor2a de las
ventanas mostrará una lista de las opciones disponi$les para esa ventana.
Algunos menús desplegables
View
5os tipos de ventanas disponi$les son listados en el men6 View
Windows
7/18/2019 Manual Turbo Debbuger
http://slidepdf.com/reader/full/manual-turbo-debbuger 4/5
Esta opción nos permite manejar las ventanas. Este men6 está dividido en dos mitades& la
superior contiene comandos como oo! !F!", Next !F6", Next "ane !$ab", etc. 5a mitad inerior es
una lista de las ventanas activas.
Run
5as ventanas son para analizar el código y sus varia$les. 1ero para la acción, necesitamos
ejecutar el código. El menu Run proporciona varios modos de ejecución&
Run !F9", hace correr el programa hasta #ue este termina !o hasta #ue se alcance un punto de
ruptura".
#race $nto !F%", ejecuta un paso sencillo o una instrucción cada vez. 5o #ue se entiende por un
paso sencillo dependerá del contenido de la ventana #ue esté encima de las demás. 4i es una
ventana %odule o se pulsa F% se ejecuta una l2nea del código uente. 4i es una ventana &"U o se
utiliza la com$inación AltF%, se ejecuta una instrucción má#uina sencilla. 4i la linea de código
contiene una llamada a una unción, 0+ depura la unción.
'tep O(er !F&". Esta opción es como la anterior e7cepto #ue cuando el puntero de instrucción
apunta a una instrucción call se ejecuta la unción entera y el cursor se coloca en la siguiente linea
de código.
)ni!ate. 4imilar a Run hasta #ue termina el código, e7cepto por #ue después de cada
instrucción muestra el contenido de los registros y varia$les para ver #ué es lo #ue está pasando.
Restart !CtrlF'". 9ueve el puntero de instrucción a la primera instrucción del programa.
Ventanas de TD
(a )entana Regs
5a ventana Aegs muestra el contenido de todos los registros del procesador as2 como los Bags
de la /1C. Es posi$le visualizarlos como registros de 'D $it o de -* $its. arias opciones son
accesi$les a través del men6 local 'peed%enu !$otón derecho del ratón o AltF10". 4eg6n se va
ejecutando el programa !paso a paso" los cam$ios en registros y Bags se van resaltando en la
ventana.
(a )entana Dump
9uestra el contenido de un área de la memoria en ormato he7adecimal. 5a parte de la
iz#uierda muestra la dirección de comienzo de la linea !p.ej. +4&====". En el ormato por deecto
!ormato $yte" se muestran F $yte por linea, y a la derecha de esos F $ytes están sus
representaciones en código :4/GG e7tendido. 4e puede usar el comando *oto del men6 local para
e7aminar las varia$les #ue deseemos.
(a )entana Module
5a ventana muestra el código uente si hay inormación de depuración dentro del ejecuta$le. 5a
tecla F& avanza un paso en las lineas de código. 5a tecla F% tam$ién avanza en el código solo #ue
es capaz de depurar las llamadas a las su$rutinas. 5a tecla F' activa un punto de ruptura
7/18/2019 Manual Turbo Debbuger
http://slidepdf.com/reader/full/manual-turbo-debbuger 5/5
!breakpoint " en la linea apuntada por el cursor.
(a )entana CPU
5a ventana /1C se com$ina las ventanas anteriores en una 6nica ventana. Es menos potente y
un poco más difcil de usar #ue las tres ventanas por separado.
Puntos de ruptura
5os puntos de ruptura sirven para tomar unas acciones determinadas cuando se alcanza un
punto concreto en la ejecución del código. El usuario de$e defnir para un punto de ruptura tres
varia$les&
5a dirección donde #ueremos parar el código.
5a condición #ue activa el punto de ruptura
5a acción #ue #ueremos realizar cuando se alcanza el punto de ruptura
El tipo más simple de punto de ruptura es a#uel #ue !a" está asociado con una instrucción
espec2fca en el programa, y #ue !$" está siempre activada y !c" #ue para la ejecución del
programa. Estos se llaman puntos de ruptura simples o sencillos. Es el tipo asumido por deecto
por 0+, y de$er2a ser sufciente para nuestros propósitos. Ctilizando estos, podemos ejecutar el
programa a toda velocidad hasta alcanzar la instrucción especifcada y e7aminar entonces el
estado de la memoria y de la /1C.
¿/ómo se pone un punto de ruptura sencillo? ueno, sólo necesitamos especifcar una instrucción
del programa. 5a orma más sencialla es usar la ventana %odule o desde la su$ventana de código
de la ventana /1C. 1rimero situaremos el cursor en la l2nea de código donde deseamos poner el
punto de ruptura y pulsaremos F' #ue pondrá un punto de ruptura o lo #uitará si esta$a puesto.