Procedure Division e Runtime
Program hang: infinite loop in PERFORM VARYING UNTIL condition is never satisfied – COBOL PERFORM_INFINITE_LOOP
La condizione di uscita 'UNTIL' non viene mai soddisfatta perché la variabile di incremento non raggiunge il valore di terminazione o viene modificata all'interno del corpo del loop.
Cosa significa questo errore?
La condizione di uscita 'UNTIL' non viene mai soddisfatta perché la variabile di incremento non raggiunge il valore di terminazione o viene modificata all'interno del corpo del loop.
Messaggio originale
Program hang: infinite loop in PERFORM VARYING UNTIL condition is never satisfiedContesto e parole chiave
Alias
- PERFORM VARYING infinite loop COBOL
Messaggi alternativi
- ciclo infinito perform varying condizione until mai soddisfatta
Prodotti
- GnuCOBOL (cobc) / IBM Enterprise COBOL / Micro Focus
Piattaforme
- AIX
- IBM z/OS
- Linux
- Windows
Parole chiave
- cobol
- cobol.procedure.perform-varying-infinite-loop
- errore-cobol-perform-varying-infinite-loop
- file-status
- gnucobol
- Procedure Division e Runtime
Cause possibili
Causa tecnica per Errore COBOL: Infinite loop in PERFORM VARYING (Ciclo Infinito in Blocco Perform)
La condizione di uscita 'UNTIL' non viene mai soddisfatta perché la variabile di incremento non raggiunge il valore di terminazione o viene modificata all'interno del corpo del loop.
molto comuneDiagnosi
Diagnostica di esecuzione e file status per Errore COBOL: Infinite loop in PERFORM VARYING (Ciclo Infinito in Blocco Perform)
Ispezionare la variabile FILE-STATUS, i log di runtime o compilare con i controlli di integrità di GnuCOBOL (-Wall -Wextra -fdebugging-line).
Come leggere il risultato. Evidenzia violazioni dei margini di colonna, disallineamenti nelle clausole PIC o codici di ritorno anomali.
cobc -x -Wall -Wextra main.cob -o appRisoluzione
Risoluzione standard per Errore COBOL: Infinite loop in PERFORM VARYING (Ciclo Infinito in Blocco Perform)
Applicare la correzione al codice sorgente COBOL secondo le specifiche ANSI/ISO COBOL.
- Ispezionare il valore della variabile FILE STATUS o il numero di riga del compilatore
- Correggere la dichiarazione FD, la PICTURE o la sequenza di OPEN/READ/WRITE
- Ricompilare ed eseguire verificando la corretta terminazione con RETURN-CODE 0
cobc -x main.cobDomande frequenti
Cosa significa Errore COBOL: Infinite loop in PERFORM VARYING (Ciclo Infinito in Blocco Perform) in COBOL?
La condizione di uscita 'UNTIL' non viene mai soddisfatta perché la variabile di incremento non raggiunge il valore di terminazione o viene modificata all'interno del corpo del loop.
Approfondimenti
- GnuCOBOL Manual / IBM Enterprise COBOL Documentation documentazione_ufficiale