Runtime crash or data corruption: CALL USING passed 3 arguments but PROCEDURE DIVISION USING expects 4 – COBOL LINKAGE_PARAM_COUNT_MISMATCH

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 4

Contesto 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 comune

Diagnosi

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.

terminal
cobc -x -Wall -Wextra main.cob -o app

Risoluzione

Risoluzione standard per Errore COBOL: CALL USING parameter count mismatch (Disallineamento Parametri di Chiamata)

Difficoltà: mediaRischio: basso

Applicare la correzione al codice sorgente COBOL secondo le specifiche ANSI/ISO COBOL.

  1. Ispezionare il valore della variabile FILE STATUS o il numero di riga del compilatore
  2. Correggere la dichiarazione FD, la PICTURE o la sequenza di OPEN/READ/WRITE
  3. Ricompilare ed eseguire verificando la corretta terminazione con RETURN-CODE 0
terminal
cobc -x main.cob

Domande 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

Schede correlate