CodeGym /Curso de Java /Python SELF ES /Depuración del programa

Depuración del programa

Python SELF ES
Nivel 18 , Lección 2
Disponible

8.1 Aparición de bugs

La depuración de software es el proceso de búsqueda y corrección de errores o bugs en un programa. Este proceso es una de las partes más interesantes e importantes del desarrollo de software y ayuda a asegurar el correcto funcionamiento de los programas.

Historia del término "bug"

El término "bug" (error) en el contexto de los programas de ordenador comenzó a utilizarse por primera vez en la década de 1940. Aunque el concepto de "bugs" ya existía antes de la aparición de los ordenadores, refiriéndose a fallas mecánicas en varios dispositivos.

El primer caso documentado de uso del término "bug" en tecnología informática fue con un equipo que trabajaba en el ordenador Mark II en la Universidad de Harvard en 1947(!). El equipo descubrió que uno de los relés de la máquina no funcionaba porque una polilla se había metido dentro. Ellos eliminaron el insecto y lo registraron en el diario como "el primer caso real de descubrimiento de un insecto" (literal bug).

Aunque este no fue el primer caso de uso del término "bug" para referirse a un error, este incidente se hizo famoso y contribuyó a popularizar el término «bug».

Depuración del programa

La depuración es el proceso de búsqueda, diagnóstico y corrección de bugs en el software. El proceso de depuración incluye varios pasos:

  • Detección del error: Determinar los síntomas que indican la presencia de un error en el programa.
  • Reproducción del error: Crear condiciones en las que el error se manifieste de nuevo, para entender mejor su naturaleza.
  • Diagnóstico del problema: Usar varias herramientas y métodos para analizar el código y encontrar la causa del error.
  • Corrección del error: Hacer cambios en el código para eliminar el error.
  • Pruebas: Comprobar la corrección y probar el programa, para asegurarse de que el error ha sido corregido y no han aparecido nuevos problemas.

Así que bug es un término general para cualquier error en los programas, y debug es el proceso de detección y eliminación de dichos errores.

8.2 Herramientas y métodos de depuración

Registro

Agregar logs al código de un programa permite rastrear su ejecución y obtener información sobre el estado de las variables y operaciones en varios puntos durante la ejecución del programa. Para el registro en Python hay una excelente biblioteca — logging.

Ejemplo de uso de logging:


import logging

# Configuración de logging para mostrar información de depuración
logging.basicConfig(level=logging.DEBUG)
            

def divide(a, b):
    # Registro del intento de división
    logging.debug(f"Dividiendo {a} por {b}")
    if b == 0:
        # Registro de error si b es igual a 0
        logging.error("¡Intento de dividir por cero!")
        return None

    # Realiza la división si b no es igual a 0
    return a / b
            
result = divide(10, 2)
print(result)

Uso de depuradores (Debuggers)

Los depuradores son herramientas que permiten a los desarrolladores ejecutar el programa paso a paso, establecer puntos de parada (breakpoints), comprobar los valores de las variables y modificarlos durante la ejecución del programa.

Depuradores populares:

  1. GDB: GNU Debugger para C, C++ y otros lenguajes de programación.
  2. PDB: Depurador incorporado de Python.
  3. Visual Studio Debugger: Depurador incorporado en Microsoft Visual Studio.
  4. PyCharm Debugger: Depurador incorporado en el IDE PyCharm para Python.

Ejemplo de uso de PDB


import pdb

def faulty_function(a, b):
    pdb.set_trace()  # Establecer punto de parada
    result = a / b
    return result
            
faulty_function(10, 0)

Cuando el programa alcanza pdb.set_trace(), se detiene, y puedes ejecutar comandos del depurador, como next (siguiente paso), print (mostrar valor de la variable) y otros.

Vamos a estudiar la depuración de programas con el depurador incorporado en PyCharm.

8.3 Uso de debug

En términos generales, debug incluye el uso activo de herramientas de depuración y prácticas para identificar y corregir errores.

Establecer puntos de parada: Coloca puntos de parada en el código, para detener la ejecución del programa en los lugares que te interesan.

Ejecución paso a paso: Ejecuta el programa paso a paso, observando los cambios en el estado del programa y los valores de las variables.

Análisis de variables: Examina los valores de las variables y expresiones en varias etapas de la ejecución del programa, para identificar datos incorrectos o errores lógicos.

Corrección de errores: Haz cambios en el código para corregir los errores encontrados.

Pruebas repetidas: Después de corregir los errores, realiza pruebas del programa para asegurarte de que el error ha sido eliminado y no han surgido nuevos problemas.

Parece fácil, ¿verdad? Pues en la siguiente lección vamos a profundizar en todos los pasos y revisarlos :)

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION