SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
Análisis y Diseño
      de Software



Pensamiento de la semana
Depuración

     Departamento de Ingeniería de Sistemas Telemáticos
                                 http://moodle.dit.upm.es
Depuración
“Es una tarea dolorosa
mirar a tus propios problemas y
   saber
que tú mismo y nadie más los ha
   provocado”




Sófocles
Ayax



                              Programador Pragmático - Depuración   2
El origen moderno del término “Bug”




              9/9/1945 Grace Murray Hopper,
              Madre de COBOL
               Programador Pragmático - Depuración   3
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
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
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
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
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
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

Contenu connexe

Tendances (11)

Excepciones en Java
Excepciones en JavaExcepciones en Java
Excepciones en Java
 
1 conceptos algoritmos
1 conceptos algoritmos1 conceptos algoritmos
1 conceptos algoritmos
 
Unidad 1 el pseudocodigo
Unidad 1 el pseudocodigoUnidad 1 el pseudocodigo
Unidad 1 el pseudocodigo
 
Octavo
OctavoOctavo
Octavo
 
Gestion de errores en java
Gestion de errores en javaGestion de errores en java
Gestion de errores en java
 
Clase 1
Clase 1Clase 1
Clase 1
 
TRABAJO DE LA SEGUNDA EVALUACIÓN -VIDEO1
TRABAJO DE LA SEGUNDA EVALUACIÓN -VIDEO1TRABAJO DE LA SEGUNDA EVALUACIÓN -VIDEO1
TRABAJO DE LA SEGUNDA EVALUACIÓN -VIDEO1
 
Manejo de Excepciones
Manejo de ExcepcionesManejo de Excepciones
Manejo de Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
 

Similaire à Depuracion

Modulo 4 Mantenimiento de equipo de computo
Modulo 4 Mantenimiento de equipo de computoModulo 4 Mantenimiento de equipo de computo
Modulo 4 Mantenimiento de equipo de computo
Brian Ivan Perez Zamora
 
Integrantes kevin barahona
Integrantes kevin barahonaIntegrantes kevin barahona
Integrantes kevin barahona
08011997
 
Consejos y técnicas a la hora de programar - 1998
Consejos y técnicas a la hora de programar - 1998Consejos y técnicas a la hora de programar - 1998
Consejos y técnicas a la hora de programar - 1998
Luis Eduardo Pelaez Valencia
 
Mantenimiento lógico del computador
Mantenimiento lógico del computadorMantenimiento lógico del computador
Mantenimiento lógico del computador
lisethbarraza
 
C:\Fakepath\Algoritmos2
C:\Fakepath\Algoritmos2C:\Fakepath\Algoritmos2
C:\Fakepath\Algoritmos2
activat
 

Similaire à Depuracion (20)

Tarea 02
Tarea 02Tarea 02
Tarea 02
 
Bugs patches, trabajando con la comunidad de Drupal
Bugs patches, trabajando con la comunidad de DrupalBugs patches, trabajando con la comunidad de Drupal
Bugs patches, trabajando con la comunidad de Drupal
 
Modulo 4 Mantenimiento de equipo de computo
Modulo 4 Mantenimiento de equipo de computoModulo 4 Mantenimiento de equipo de computo
Modulo 4 Mantenimiento de equipo de computo
 
Guía básica de optimización del pc
Guía básica de optimización del pc Guía básica de optimización del pc
Guía básica de optimización del pc
 
Optimizar el rendimiento de windows
Optimizar el rendimiento de windowsOptimizar el rendimiento de windows
Optimizar el rendimiento de windows
 
Exposicion unidad-iii
Exposicion unidad-iiiExposicion unidad-iii
Exposicion unidad-iii
 
Estructuras_F_CAT
Estructuras_F_CATEstructuras_F_CAT
Estructuras_F_CAT
 
Integrantes kevin barahona
Integrantes kevin barahonaIntegrantes kevin barahona
Integrantes kevin barahona
 
Prueba de sistema
Prueba de sistemaPrueba de sistema
Prueba de sistema
 
Prueba de sistema
Prueba de sistemaPrueba de sistema
Prueba de sistema
 
Fundamentos de diagnostico de una computadora _ Esteban Paredes
Fundamentos de diagnostico de una computadora _ Esteban Paredes Fundamentos de diagnostico de una computadora _ Esteban Paredes
Fundamentos de diagnostico de una computadora _ Esteban Paredes
 
Manual de procedimientos
Manual de procedimientosManual de procedimientos
Manual de procedimientos
 
Sesion 01 _version_finalok__31124____37877__
Sesion 01 _version_finalok__31124____37877__Sesion 01 _version_finalok__31124____37877__
Sesion 01 _version_finalok__31124____37877__
 
Consejos y técnicas a la hora de programar - 1998
Consejos y técnicas a la hora de programar - 1998Consejos y técnicas a la hora de programar - 1998
Consejos y técnicas a la hora de programar - 1998
 
Mantenimiento lógico del computador
Mantenimiento lógico del computadorMantenimiento lógico del computador
Mantenimiento lógico del computador
 
Jugando con javascript
Jugando con javascriptJugando con javascript
Jugando con javascript
 
INF2_P1_EXC2_Josue Ramon Rodriguez Gil 1,A
INF2_P1_EXC2_Josue Ramon Rodriguez Gil 1,AINF2_P1_EXC2_Josue Ramon Rodriguez Gil 1,A
INF2_P1_EXC2_Josue Ramon Rodriguez Gil 1,A
 
Algoritmos2
Algoritmos2Algoritmos2
Algoritmos2
 
ALGORITMO
ALGORITMOALGORITMO
ALGORITMO
 
C:\Fakepath\Algoritmos2
C:\Fakepath\Algoritmos2C:\Fakepath\Algoritmos2
C:\Fakepath\Algoritmos2
 

Plus de Carlos A. Iglesias

Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacion
Carlos A. Iglesias
 

Plus de Carlos A. Iglesias (20)

GSI Research Group Presentation
GSI Research Group PresentationGSI Research Group Presentation
GSI Research Group Presentation
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
Bootstrap 3.
Bootstrap 3.Bootstrap 3.
Bootstrap 3.
 
Introducción CSS
Introducción CSSIntroducción CSS
Introducción CSS
 
Introducción HTML
Introducción HTMLIntroducción HTML
Introducción HTML
 
Presentación TEWC
Presentación TEWCPresentación TEWC
Presentación TEWC
 
UPM GSI Presentation
UPM GSI PresentationUPM GSI Presentation
UPM GSI Presentation
 
Introducción Análisis y Diseño
Introducción Análisis y DiseñoIntroducción Análisis y Diseño
Introducción Análisis y Diseño
 
PHP. Bases de Datos
PHP. Bases de DatosPHP. Bases de Datos
PHP. Bases de Datos
 
PHP. Tecnologías Web.
PHP. Tecnologías Web.PHP. Tecnologías Web.
PHP. Tecnologías Web.
 
1 intro php
1 intro php1 intro php
1 intro php
 
0 entorno php
0 entorno php0 entorno php
0 entorno php
 
Introducción TEWC
Introducción TEWCIntroducción TEWC
Introducción TEWC
 
Tema 4.1 Introduccion Android
Tema 4.1 Introduccion AndroidTema 4.1 Introduccion Android
Tema 4.1 Introduccion Android
 
Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacion
 
Tema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre telecoTema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre teleco
 
Tema 4.4 Actividades
Tema 4.4 ActividadesTema 4.4 Actividades
Tema 4.4 Actividades
 
Tema 4.5 interfaces
Tema 4.5 interfacesTema 4.5 interfaces
Tema 4.5 interfaces
 
Tema 4.6 Intenciones
Tema 4.6 IntencionesTema 4.6 Intenciones
Tema 4.6 Intenciones
 
Tema 4.7 Acceso a datos
Tema 4.7 Acceso a datosTema 4.7 Acceso a datos
Tema 4.7 Acceso a datos
 

Dernier

Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
EdwinGarca59
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
ssusere34b451
 

Dernier (20)

herramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaherramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el tema
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.Actividad 6/Las TIC en la Vida Cotidiana.
Actividad 6/Las TIC en la Vida Cotidiana.
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
innovacion banking & warehouse 2024 blog
innovacion banking & warehouse 2024 bloginnovacion banking & warehouse 2024 blog
innovacion banking & warehouse 2024 blog
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la información
 
el uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptxel uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptx
 
CARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbx
CARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbxCARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbx
CARPETA PEDAGOGICA DE TOE.docbbbbbbbbbbbx
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
 
Electricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docxElectricidad Libro compendio de temas estudiados.docx
Electricidad Libro compendio de temas estudiados.docx
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfRedes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
Introduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptxIntroduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptx
 

Depuracion

  • 1. Análisis y Diseño de Software Pensamiento de la semana Depuración Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es
  • 2. Depuración “Es una tarea dolorosa mirar a tus propios problemas y saber que tú mismo y nadie más los ha provocado” Sófocles Ayax Programador Pragmático - Depuración 2
  • 3. El origen moderno del término “Bug” 9/9/1945 Grace Murray Hopper, Madre de COBOL Programador Pragmático - Depuración 3
  • 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. 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. 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. 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. 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. 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