Depuracin de programas - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Depuracin de programas

Description:

A veces, las fuentes de errores l gicos o de ejecuci n son obvias y ... Examinar la salida para determinar qu parte del programa genera resultados incorrectos. ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 20
Provided by: fdi7
Category:

less

Transcript and Presenter's Notes

Title: Depuracin de programas


1
Depuración de programas
2
Categorías de errores
  • Errores sintácticos
  • (e.g., ERROR expected)
  • Errores de ejecución
  • (e.g., exceder el rango de un vector)
  • Errores lógicos
  • (e.g., bucles que se ejecutan más veces que
    deberían)

3
Localización de errores
  • A veces, las fuentes de errores lógicos o de
    ejecución son obvias y se pueden corregir de
    manera sencilla.
  • A menudo, el error no es evidente y se requiere
    un tiempo considerable para localizarlo
  • DEPURACIÓN

4
Mostrar resultados intermedios
  • Examinar la salida para determinar qué parte del
    programa genera resultados incorrectos.
  • Centrarse en las sentencias del fragmento del
    programa que están generando incorrecciones.
  • Insertar instrucciones de escritura extra para
    mostrar resultados intermedios en distintos
    puntos de programa.

5
Mostrar resultados intermedios
PROGRAM C(Input,Ouput) CONST Sentinel10 VAR
Score,SumInteger Begin readln(Score) while
Scoreltgt Sentinel do begin SumSumScore
Writeln(Sum,sum,
Score,score) Readln(Score) end while
writeln('El valor de la suma es ',sum) End.
PROGRAM C(Input,Ouput) CONST Sentinel10 VAR
Score,SumInteger Begin readln(Score) while
Scoreltgt Sentinel do begin SumSumScore
Readln(Score) end while writeln('El valor de
la suma es ',sum) End.
6
Precauciones con inserción de instrucciones
  • Puede ser necesario añadir begin end
  • Puede ser necesario incluir
  • Puede ser útil comentar las instrucciones de
    escritura para futuras depuraciones, en lugar de
    eliminarlos completamente

7
Errores comunes en tratamiento de bucles
  • Bucles que realizan una iteración de más
  • Count0
  • while Count lt N do
  • begin
  • SumSumCount
  • CountCount 1
  • end while

8
Errores comunes en tratamiento de bucles
  • Examinar los variables de control del bucle
  • Sum0
  • for IK To N-K do
  • SumSumSqr(I)
  • si I K --gt Sum K2
  • si I N-K --gt Sum Sum (N-K)2

9
Utilizando el depurador de Turbo Pascal
  • Un depurador ayuda a localizar errores lógicos de
    un programa.
  • El depurador de Turbo Pascal permite ejecutar el
    programa paso a paso y observar la evolución de
    las variables y expresiones.

10
Ejecución paso a paso
  • Dentro del menú Run, la opción Trace into permite
    usar el depurador de Turbo Pascal
  • La tecla de función F7 permite avanzar la
    ejecución instrucción a instrucción

11
La ventana Watch
  • La ventana Output nos muestra el valor de una
    variable sólo cuando se muestra con una
    instrucción Writeln
  • La ventana Watch nos permite ver el valor de
    expresiones y variables durante la ejecución del
    programa sin necesidad de utilizar instrucciones
    Writeln

12
La ventana Watch
  • Añadir nuevas variables o expresiones a la
    ventana Watch
  • Situar el cursor sobre la variable o expresión
  • Seleccionar dentro del menu Debug la opción Add
    Watch (Ctrl-F7)
  • Eliminar variable / expresión del Watch
  • Con la tecla SUPR
  • Cerrando la ventana Watch

13
Combinando la ejecución normal con la ejecución
paso a paso
  • Es posible ejecutar una parte del programa de
    manera normal y el resto paso a paso
  • Marcar el inicio de la parte a ejecutar paso a
    paso con F4
  • Turbo Pascal ejecutará todo el código hasta
    llegar a ese punto de manera normal
  • A continuación, se añaden las variables al WATCH
    y se realiza una ejecución paso a paso

14
Depuración con Breakpoints
  • Un estilo común de depuración consiste en separar
    el programa en segmentos y detenerse tras
    ejecutar cada segmento para examinar la ventana
    Watch
  • De esta manera, se localizan los segmentos
    erróneos y se realiza la depuración paso a paso
    sobre ellos

15
Depuración con Breakpoints
  • PASOS
  • Separar el programa en fragmentos introduciendo
    breakpoints
  • (CTRL-F8 o Add breakpoint)
  • Ejecutar todas las instrucciones hasta el
    breakpoint (CTRL-F9)
  • Ejecución paso a paso (F7)

16
Depuración con Breakpoints
  • Para ver la lista de breakpoints seleccionar
    dentro del menú Debug la opción Breakpoints
  • Con DELETE se puede eliminar el breakpoint
    seleccionado
  • La opción VIEW marca el punto del programa donde
    el breakpoint se ha definido (sin comenzar la
    ejecución)
  • Se pueden añadir condiciones a los breakpoint en
    el campo CONDITION, de manera que sólo se
    detendrá la ejecución en ese punto si la
    condición se hace cierta
  • Con CLEAR se eliminan todos los breakpoints

17
Inicializar el depurador
  • Para comenzar la ejecución del programa durante
    la sesión de depuración CTRL-F2
  • De esta manera, se inicializa el depurador y se
    sitúa la barra de depuración sobre el begin del
    programa principal

18
Modificaciones en el programa durante la
depuración
  • Cuando se realizan modificaciones en el programa
    durante la sesión de depuración, Turbo Pascal
    preguntará
  • Source has been modified. Rebuild?
  • Y el programa se compila de nuevo y la barra de
    ejecución se sitúa en el begin del programa
    principal
  • N continúa la sesión de depuración

19
Cómo localizar los errores?
SELECCIÓN DE CASOS DE PRUEBA (PRÓXIMA
SESIÓN)
Write a Comment
User Comments (0)
About PowerShow.com