Abend S0C4: Dereferencing NULL or uninitialized POINTER / BASED variable – COBOL POINTER_NULL_REFERENCE_ABEND

POINTER_NULL_REFERENCE_ABEND

Nei dialetti COBOL moderni (IBM Enterprise COBOL, GnuCOBOL), accedere a una variabile dichiarata con 'BASED' senza aver prima assegnato il puntatore con 'SET ADDRESS OF item TO ptr' scatena l'abend S0C4.

Cosa significa questo errore?

Nei dialetti COBOL moderni (IBM Enterprise COBOL, GnuCOBOL), accedere a una variabile dichiarata con 'BASED' senza aver prima assegnato il puntatore con 'SET ADDRESS OF item TO ptr' scatena l'abend S0C4.

Messaggio originale

Abend S0C4: Dereferencing NULL or uninitialized POINTER / BASED variable

Contesto e parole chiave

Alias

  • Abend S0C4 POINTER BASED COBOL

Messaggi alternativi

  • dereferenziazione puntatore nullo variabile BASED abend S0C4

Prodotti

  • GnuCOBOL (cobc) / IBM Enterprise COBOL / Micro Focus

Piattaforme

  • AIX
  • IBM z/OS
  • Linux
  • Windows

Parole chiave

  • cobol
  • cobol.data.pointer-null-reference-exception
  • Data Division e Troncamento PIC
  • errore-cobol-pointer-null-reference-abend
  • file-status
  • gnucobol

Cause possibili

Causa tecnica per Errore COBOL: Abend S0C4 on NULL POINTER / BASED item (Puntatore Nullo)

Nei dialetti COBOL moderni (IBM Enterprise COBOL, GnuCOBOL), accedere a una variabile dichiarata con 'BASED' senza aver prima assegnato il puntatore con 'SET ADDRESS OF item TO ptr' scatena l'abend S0C4.

molto comune

Diagnosi

Diagnostica di esecuzione e file status per Errore COBOL: Abend S0C4 on NULL POINTER / BASED item (Puntatore Nullo)

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: Abend S0C4 on NULL POINTER / BASED item (Puntatore Nullo)

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: Abend S0C4 on NULL POINTER / BASED item (Puntatore Nullo) in COBOL?

Nei dialetti COBOL moderni (IBM Enterprise COBOL, GnuCOBOL), accedere a una variabile dichiarata con 'BASED' senza aver prima assegnato il puntatore con 'SET ADDRESS OF item TO ptr' scatena l'abend S0C4.

Approfondimenti

Schede correlate