La depuración es una habilidad esencial para cualquier programador. En este módulo, aprenderás diversas técnicas para identificar y corregir errores en tus programas CL. La depuración efectiva no solo te ayuda a encontrar y solucionar problemas más rápidamente, sino que también mejora la calidad y la confiabilidad de tu código.

Objetivos de Aprendizaje

Al final de este tema, deberías ser capaz de:

  • Comprender la importancia de la depuración.
  • Utilizar comandos y herramientas de depuración en CL.
  • Identificar y corregir errores comunes en programas CL.
  • Implementar buenas prácticas de depuración.

  1. Introducción a la Depuración

¿Qué es la Depuración?

La depuración es el proceso de identificar, analizar y corregir errores en un programa. Estos errores pueden ser sintácticos, lógicos o de ejecución.

Importancia de la Depuración

  • Mejora la calidad del código: Ayuda a asegurar que el programa funcione como se espera.
  • Ahorra tiempo: Identificar y corregir errores temprano en el desarrollo puede ahorrar tiempo y recursos.
  • Facilita el mantenimiento: Un código bien depurado es más fácil de entender y mantener.

  1. Herramientas de Depuración en CL

Comando STRDBG

El comando STRDBG (Start Debug) es una herramienta fundamental para la depuración en CL. Permite iniciar una sesión de depuración para un programa específico.

Sintaxis

STRDBG PGM(library/program)

Ejemplo

STRDBG PGM(MYLIB/MYPROGRAM)

Este comando inicia una sesión de depuración para el programa MYPROGRAM en la biblioteca MYLIB.

Comando ENDDBG

El comando ENDDBG (End Debug) finaliza la sesión de depuración.

Sintaxis

ENDDBG

Comando DSPMODSRC

El comando DSPMODSRC (Display Module Source) muestra el código fuente del módulo que se está depurando.

Sintaxis

DSPMODSRC MODULE(library/module)

Ejemplo

DSPMODSRC MODULE(MYLIB/MYMODULE)

Este comando muestra el código fuente del módulo MYMODULE en la biblioteca MYLIB.

  1. Técnicas de Depuración

Uso de Puntos de Interrupción

Los puntos de interrupción permiten pausar la ejecución del programa en una línea específica para examinar el estado del programa.

Comando ADDBKP

El comando ADDBKP (Add Breakpoint) agrega un punto de interrupción en una línea específica del programa.

Sintaxis

ADDBKP PGM(library/program) STMT(statement-number)

Ejemplo

ADDBKP PGM(MYLIB/MYPROGRAM) STMT(100)

Este comando agrega un punto de interrupción en la línea 100 del programa MYPROGRAM.

Inspección de Variables

Durante la depuración, es útil inspeccionar el valor de las variables para entender el estado del programa.

Comando DSPVAR

El comando DSPVAR (Display Variable) muestra el valor de una variable específica.

Sintaxis

DSPVAR VAR(variable-name)

Ejemplo

DSPVAR VAR(&MYVAR)

Este comando muestra el valor de la variable &MYVAR.

Seguimiento de la Ejecución

El seguimiento de la ejecución permite avanzar paso a paso a través del código para observar cómo cambia el estado del programa.

Comando STEP

El comando STEP avanza la ejecución del programa una línea a la vez.

Sintaxis

STEP

  1. Ejemplo Práctico

Código de Ejemplo

PGM
    DCL VAR(&COUNTER) TYPE(*INT) VALUE(0)
    DCL VAR(&LIMIT) TYPE(*INT) VALUE(10)

    LOOP: DOUNTIL COND(&COUNTER *GE &LIMIT)
        CHGVAR VAR(&COUNTER) VALUE(&COUNTER + 1)
        SNDPGMMSG MSG('Counter is now ' *CAT &COUNTER)
    ENDDO

    ENDPGM

Pasos de Depuración

  1. Iniciar la Depuración:

    STRDBG PGM(MYLIB/MYPROGRAM)
    
  2. Agregar un Punto de Interrupción:

    ADDBKP PGM(MYLIB/MYPROGRAM) STMT(5)
    
  3. Ejecutar el Programa:

    CALL PGM(MYLIB/MYPROGRAM)
    
  4. Inspeccionar Variables:

    DSPVAR VAR(&COUNTER)
    
  5. Seguir la Ejecución:

    STEP
    
  6. Finalizar la Depuración:

    ENDDBG
    

  1. Ejercicios Prácticos

Ejercicio 1: Depuración Básica

  1. Escribe un programa CL que sume los números del 1 al 5 y muestre el resultado.
  2. Inicia una sesión de depuración para el programa.
  3. Agrega un punto de interrupción antes de la suma.
  4. Inspecciona el valor de las variables antes y después de la suma.
  5. Corrige cualquier error encontrado.

Ejercicio 2: Depuración Avanzada

  1. Escribe un programa CL que lea un archivo y muestre cada registro.
  2. Inicia una sesión de depuración para el programa.
  3. Agrega puntos de interrupción en diferentes partes del programa.
  4. Inspecciona el valor de las variables y el contenido del archivo.
  5. Corrige cualquier error encontrado.

  1. Resumen

En este tema, hemos cubierto las técnicas básicas y avanzadas de depuración en CL. Aprendiste a utilizar comandos como STRDBG, ENDDBG, ADDBKP, y DSPVAR para identificar y corregir errores en tus programas. La práctica de estas técnicas te ayudará a mejorar la calidad y la eficiencia de tu código.

En el próximo tema, exploraremos técnicas de optimización del rendimiento para asegurarnos de que tus programas CL no solo sean correctos, sino también eficientes.

© Copyright 2024. Todos los derechos reservados