La depuració és una part essencial del desenvolupament de programari, ja que permet identificar i corregir errors en el codi. En aquest tema, aprendrem les tècniques i eines per depurar programes COBOL de manera eficient.
Objectius
- Comprendre la importància de la depuració.
- Aprendre a utilitzar eines de depuració per a COBOL.
- Identificar i corregir errors comuns en programes COBOL.
- Importància de la Depuració
La depuració és crucial per assegurar que el programa funcioni correctament i compleixi amb els requisits especificats. Els errors poden ser de diversos tipus, com ara errors de sintaxi, lògica o execució, i poden afectar el rendiment i la funcionalitat del programa.
- Eines de Depuració per a COBOL
Hi ha diverses eines disponibles per a la depuració de programes COBOL. Algunes de les més utilitzades són:
2.1. IBM Debug Tool
IBM Debug Tool és una eina poderosa per depurar aplicacions COBOL. Permet als desenvolupadors executar programes pas a pas, inspeccionar variables i modificar el codi en temps real.
2.2. Micro Focus COBOL Debugger
Micro Focus proporciona un depurador integrat en el seu entorn de desenvolupament. Aquest depurador permet als desenvolupadors establir punts de ruptura, seguir l'execució del programa i analitzar l'estat de les variables.
2.3. GDB (GNU Debugger)
GDB és una eina de depuració de codi obert que es pot utilitzar per depurar programes COBOL compilats amb el compilador GnuCOBOL. Tot i que no és específic per a COBOL, proporciona funcionalitats bàsiques de depuració.
- Tècniques de Depuració
3.1. Punts de Ruptura
Els punts de ruptura permeten aturar l'execució del programa en una línia específica de codi. Això permet als desenvolupadors inspeccionar l'estat del programa en aquest punt i determinar si el codi s'està executant com s'esperava.
MOVE 0 TO WS-COUNTER. PERFORM UNTIL WS-COUNTER > 10 ADD 1 TO WS-COUNTER DISPLAY 'Counter: ' WS-COUNTER END-PERFORM.
En aquest exemple, podem establir un punt de ruptura a la línia ADD 1 TO WS-COUNTER
per inspeccionar el valor de WS-COUNTER
en cada iteració del bucle.
3.2. Seguiment Pas a Pas
El seguiment pas a pas permet executar el programa una línia a la vegada. Això és útil per entendre com es modifica l'estat del programa a cada pas i identificar on es produeixen errors.
3.3. Inspecció de Variables
La inspecció de variables permet veure els valors actuals de les variables en qualsevol punt de l'execució del programa. Això ajuda a verificar si les variables contenen els valors esperats.
3.4. Registres de Traça
Els registres de traça són missatges de depuració que es poden inserir en el codi per registrar informació sobre l'execució del programa. Aquests registres poden ajudar a identificar on es produeixen errors.
DISPLAY 'Inici del bucle' PERFORM UNTIL WS-COUNTER > 10 ADD 1 TO WS-COUNTER DISPLAY 'Counter: ' WS-COUNTER END-PERFORM. DISPLAY 'Fi del bucle'
- Errors Comuns i Solucions
4.1. Errors de Sintaxi
Els errors de sintaxi es produeixen quan el codi no compleix amb les regles del llenguatge COBOL. Aquests errors són fàcils de detectar, ja que el compilador els informarà durant la compilació.
4.2. Errors de Lògica
Els errors de lògica es produeixen quan el codi no fa el que s'esperava. Aquests errors són més difícils de detectar, ja que el programa pot compilar i executar-se sense problemes, però produir resultats incorrectes.
4.3. Errors d'Execució
Els errors d'execució es produeixen durant l'execució del programa i poden ser causats per problemes com ara divisió per zero o accés a fitxers inexistents.
Exercici Pràctic
Exercici 1: Depuració d'un Programa COBOL
- Escriu un programa COBOL que calculi la suma dels primers 10 números naturals.
- Introdueix un error de lògica en el codi (per exemple, utilitza
SUBTRACT
en lloc deADD
). - Utilitza una eina de depuració per identificar i corregir l'error.
Solució
IDENTIFICATION DIVISION. PROGRAM-ID. SumNumbers. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-COUNTER PIC 9(2) VALUE 0. 01 WS-SUM PIC 9(4) VALUE 0. PROCEDURE DIVISION. PERFORM UNTIL WS-COUNTER > 10 ADD 1 TO WS-COUNTER ADD WS-COUNTER TO WS-SUM END-PERFORM. DISPLAY 'La suma dels primers 10 números naturals és: ' WS-SUM. STOP RUN.
Passos de Depuració
- Estableix un punt de ruptura a la línia
ADD 1 TO WS-COUNTER
. - Executa el programa fins al punt de ruptura.
- Inspecciona el valor de
WS-COUNTER
iWS-SUM
per verificar si són correctes. - Continua l'execució pas a pas fins a identificar l'error.
- Corregeix l'error substituint
SUBTRACT
perADD
.
Conclusió
La depuració és una habilitat essencial per a qualsevol programador COBOL. Utilitzant les tècniques i eines adequades, pots identificar i corregir errors de manera eficient, assegurant que el teu programa funcioni correctament. Practica aquestes tècniques regularment per millorar les teves habilitats de depuració.
Curs de Programació COBOL
Mòdul 1: Introducció al COBOL
- Què és el COBOL?
- Història del COBOL
- Configuració de l'Entorn COBOL
- Estructura Bàsica d'un Programa COBOL
Mòdul 2: Sintaxi Bàsica del COBOL i Tipus de Dades
Mòdul 3: Estructures de Control
Mòdul 4: Treballant amb Dades
- Gestió d'Arxius en COBOL
- Processament d'Arxius Seqüencials
- Processament d'Arxius Indexats
- Processament d'Arxius Relatius
Mòdul 5: Gestió Avançada de Dades
Mòdul 6: Subprogrames i Programació Modular
Mòdul 7: Gestió d'Errors i Depuració
Mòdul 8: COBOL i Bases de Dades
Mòdul 9: Temes Avançats
- COBOL Orientat a Objectes
- COBOL i Serveis Web
- Optimització del Rendiment
- Millors Pràctiques en Programació COBOL