Depuracion

843 views

Published on

Programador pragmático. Depuración

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
843
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Depuracion

  1. 1. Análisis y Diseño de SoftwarePensamiento de la semanaDepuración Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es
  2. 2. Depuración“Es una tarea dolorosamirar a tus propios problemas y saberque tú mismo y nadie más los ha provocado”SófoclesAyax Programador Pragmático - Depuración 2
  3. 3. El origen moderno del término “Bug” 9/9/1945 Grace Murray Hopper, Madre de COBOL Programador Pragmático - Depuración 3
  4. 4. Psicología de la Depuración (I)● Lamentablemente, cometemos errores y hay fallos (bugs)● Los ordenadores aún hacen lo que les decimos que hagan y no lo que queremos que hagan● No hay software perfecto: la depuración nos llevará la mayor parte del tiempo● Actitud de depuración: – Reto – No busques culpables – Arregla el problema – Cualquier fallo es tu problema Programador Pragmático - Depuración 4
  5. 5. Psicología de la Depuración (II)●Primera regla: Don’t Panic●No les des vueltas – pero si funcionaba hace un rato y no he cambiado nada... – tendría que ir...●Busca la causa, no te quedes en los síntomas Programador Pragmático - Depuración 5
  6. 6. Por dónde empezar●Antes de buscar el fallo – Comprueba que todo está compilado – Comprueba que no hay avisos (warnings) al compilar●Reproduce el fallo para tener todos los datos del problema Programador Pragmático - Depuración 6
  7. 7. Estrategias de depuración I●Visualizar qué está pasando – Emplea una herramienta de depuración – Establece paradas (“breakpoints”) y ejecuta paso a paso – Visualiza valores de las variables●Emplear trazas – Las trazas permiten ver qué pasa antes y después – Ajusta los niveles de detalle de las trazas Programador Pragmático - Depuración 7
  8. 8. Estrategias de depuración I●Explica el problema a otra persona (o al patito“rubber ducking”) – Al “verbalizar”, ves qué asunciones no son ciertas●Proceso de Eliminación – Antes de pensar que el fallo puede estar en algoexterno (una biblioteca que usas, SO, ...), – asegúrate que tu código no tiene fallos “El Select no tiene bugs” Programador Pragmático - Depuración 8
  9. 9. La sorpresa●Si encuentras que el fallo es inesperado – Arréglalo – Determina por qué no fue capturado antes • ¿Pocas pruebas unitarias? • ¿Falta de comprobación de parámetros? • ¿Hay más código que puede tener el mismo fallo? • ¿Hay pocas trazas en el código? Programador Pragmático - Depuración 9

×