CALL e Linkage Subprogrammi
Runtime crash or data corruption: CALL USING passed 3 arguments but PROCEDURE DIVISION USING expects 4 – COBOL LINKAGE_PARAM_COUNT_MISMATCH
Il programma chiamante passa un numero di parametri diverso da quello dichiarato nell'intestazione 'PROCEDURE DIVISION USING ...' del sottoprogramma, provocando puntatori non validi e abend S0C4.
Cosa significa questo errore?
Il programma chiamante passa un numero di parametri diverso da quello dichiarato nell'intestazione 'PROCEDURE DIVISION USING ...' del sottoprogramma, provocando puntatori non validi e abend S0C4.
Messaggio originale
Runtime crash or data corruption: CALL USING passed 3 arguments but PROCEDURE DIVISION USING expects 4Contesto e parole chiave
Alias
- CALL USING parameter count mismatch COBOL
Messaggi alternativi
- disallineamento numero parametri tra CALL e LINKAGE SECTION
Prodotti
- GnuCOBOL (cobc) / IBM Enterprise COBOL / Micro Focus
Piattaforme
- AIX
- IBM z/OS
- Linux
- Windows
Parole chiave
- CALL e Linkage Subprogrammi
- cobol
- cobol.linkage.linkage-section-parameter-count-mismatch
- errore-cobol-linkage-parameter-count-mismatch
- file-status
- gnucobol
Cause possibili
Causa tecnica per Errore COBOL: CALL USING parameter count mismatch (Disallineamento Parametri di Chiamata)
Il programma chiamante passa un numero di parametri diverso da quello dichiarato nell'intestazione 'PROCEDURE DIVISION USING ...' del sottoprogramma, provocando puntatori non validi e abend S0C4.
molto comuneDiagnosi
Diagnostica di esecuzione e file status per Errore COBOL: CALL USING parameter count mismatch (Disallineamento Parametri di Chiamata)
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: CALL USING parameter count mismatch (Disallineamento Parametri di Chiamata)
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: CALL USING parameter count mismatch (Disallineamento Parametri di Chiamata) in COBOL?
Il programma chiamante passa un numero di parametri diverso da quello dichiarato nell'intestazione 'PROCEDURE DIVISION USING ...' del sottoprogramma, provocando puntatori non validi e abend S0C4.
Approfondimenti
- GnuCOBOL Manual / IBM Enterprise COBOL Documentation documentazione_ufficiale