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.
- 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.
- 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
Ejemplo
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
Comando DSPMODSRC
El comando DSPMODSRC
(Display Module Source) muestra el código fuente del módulo que se está depurando.
Sintaxis
Ejemplo
Este comando muestra el código fuente del módulo MYMODULE
en la biblioteca MYLIB
.
- 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
Ejemplo
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
Ejemplo
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
- 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
-
Iniciar la Depuración:
STRDBG PGM(MYLIB/MYPROGRAM)
-
Agregar un Punto de Interrupción:
ADDBKP PGM(MYLIB/MYPROGRAM) STMT(5)
-
Ejecutar el Programa:
CALL PGM(MYLIB/MYPROGRAM)
-
Inspeccionar Variables:
DSPVAR VAR(&COUNTER)
-
Seguir la Ejecución:
STEP
-
Finalizar la Depuración:
ENDDBG
- Ejercicios Prácticos
Ejercicio 1: Depuración Básica
- Escribe un programa CL que sume los números del 1 al 5 y muestre el resultado.
- Inicia una sesión de depuración para el programa.
- Agrega un punto de interrupción antes de la suma.
- Inspecciona el valor de las variables antes y después de la suma.
- Corrige cualquier error encontrado.
Ejercicio 2: Depuración Avanzada
- Escribe un programa CL que lea un archivo y muestre cada registro.
- Inicia una sesión de depuración para el programa.
- Agrega puntos de interrupción en diferentes partes del programa.
- Inspecciona el valor de las variables y el contenido del archivo.
- Corrige cualquier error encontrado.
- 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.
Curso de CL (Lenguaje de Control)
Módulo 1: Introducción a CL
- ¿Qué es el Lenguaje de Control?
- Configuración de tu Entorno
- Sintaxis y Estructura Básica
- Escribiendo tu Primer Programa CL
Módulo 2: Comandos Básicos de CL
- Introducción a los Comandos de CL
- Comandos de Gestión de Archivos
- Comandos de Gestión de Trabajos
- Comandos de Gestión del Sistema
Módulo 3: Variables y Expresiones
- Entendiendo las Variables
- Definiendo y Usando Variables
- Expresiones y Operadores
- Manipulación de Cadenas
Módulo 4: Estructuras de Control
Módulo 5: Comandos Avanzados de CL
- Operaciones Avanzadas de Archivos
- Programación Avanzada de Trabajos
- Comandos de Configuración del Sistema
- Seguridad y Permisos