CodeGym /Cursos /Frontend SELF ES /Depuración de programas

Depuración de programas

Frontend SELF ES
Nivel 38 , Lección 2
Disponible

9.1 Aparición de bugs

La depuración de software es el proceso de encontrar y corregir errores o bugs en un programa. Es la parte más interesante del desarrollo de software, que ayuda a asegurar el funcionamiento correcto de los programas.

Historia del término "bug"

El término "bug" (error) en el contexto de los programas informáticos comenzó a utilizarse en los años 40. Aunque el concepto de "bugs" existía antes de la aparición de los ordenadores, refiriéndose a fallos mecánicos en varios dispositivos.

El primer caso documentado del uso del término "bug" en la técnica informática fue con un equipo que trabajaba en la computadora 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 había quedado atrapada en él. Retiraron el insecto y registraron este hallazgo como "el primer caso real de detección de un insecto" (literal bug).

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

bug

Depuración de un programa

La depuración es el proceso de encontrar, diagnosticar y corregir bugs en el software. El proceso de depuración incluye varias etapas:

  1. Detección del error: identificación de los síntomas que indican la presencia de un error en el programa.
  2. Reproducción del error: creación de condiciones en las que el error se manifiesta de nuevo para entender mejor su naturaleza.
  3. Diagnóstico del problema: uso de diversas herramientas y métodos para analizar el código y encontrar la causa del error.
  4. Corrección del error: realización de cambios en el código para eliminar el error.
  5. Pruebas: verificación de la corrección y prueba del programa para asegurarse de que el error se haya eliminado y no hayan surgido nuevos problemas.

Así que bug es el nombre general para cualquier error en los programas, y debug es el proceso de encontrar y corregir esos errores.

9.2 Herramientas y métodos de depuración

Registro (Logging)

Añadir registros al código del programa permite rastrear su ejecución y obtener información sobre el estado de las variables y operaciones en diferentes puntos de la ejecución del programa. Para el registro en JavaScript hay una excelente biblioteca — winston.

Ejemplo de uso de registro:

JavaScript
    
      const { createLogger, format, transports } = require('winston');

      // Creamos un logger con nivel de depuración
      const logger = createLogger({  level: 'debug' });

      // Función de división
      function divide(a, b) {
        logger.debug(`Dividiendo ${a} entre ${b}`);
        if (b === 0) {
          logger.error("¡Intento de división por cero!");
          return null;
        }
        return a / b;
      }

      // Ejemplo de uso de la función
      const result = divide(10, 2);
      console.log(result); // Mostrará: 5
    
  

Uso de depuradores (Debuggers)

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

Depuradores populares para JavaScript:

  • Chrome DevTools: depurador integrado en el navegador Google Chrome
  • Firefox Developer Tools: depurador integrado en el navegador Mozilla Firefox
  • Node.js Debugger: depurador integrado para JavaScript del lado del servidor en Node.js
  • Visual Studio Code Debugger: depurador integrado en el editor de Visual Studio Code

Ejemplo de uso de depurador en Node.js:

JavaScript
    
      // Importar el módulo de depuración integrado
      const { inspect } = require('util');

      // Ejemplo de función con error
      function faultyFunction(a, b) {
        debugger; // Establecer un punto de interrupción
        let result = a / b;
        return result;
      }

      // Llamada a la función con error
      console.log(faultyFunction(10, 0));
    
  

Cuando el programa alcanza debugger, se detiene, y puedes usar comandos del depurador como avanzar (step over), entrar (step into), salir (step out), verificar valores de variables y otros.

Vamos a estudiar la depuración de programas usando el depurador integrado en Intellij IDEA (se necesita la versión Ultimate Edition).

9.3 Uso de debug

En general, el debug implica el uso activo de herramientas y prácticas de depuración para identificar y corregir errores.

Pasos de depuración:

  1. Establecer puntos de interrupción: establece puntos de interrupción en el código para detener la ejecución del programa en los lugares que te interesan.
  2. 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.
  3. Análisis de variables: estudia los valores de las variables y expresiones en varias etapas de la ejecución del programa para identificar datos incorrectos o errores lógicos.
  4. Corrección de errores: realiza cambios en el código para eliminar los errores encontrados.
  5. Pruebas repetidas: después de corregir los errores, realiza pruebas en el programa para asegurarte de que el error se haya eliminado y no hayan surgido nuevos problemas.

Parece sencillo, ¿verdad? En la próxima lección, vamos a revisar cada etapa en detalle :)

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