Runtime crash: passing ADDRESS OF unallocated BASED item to subprogram (passing 0x0 / NULL pointer) – COBOL CALL_UNALLOCATED_BASED_ADDRESS

CALL_UNALLOCATED_BASED_ADDRESS

Passare l'indirizzo di un elemento dichiarato con 'BASED' che non è mai stato allocato con 'ALLOCATE' invia un puntatore nullo (0x0) al sottoprogramma, causando abend non appena viene dereferenziato.

Cosa significa questo errore?

Passare l'indirizzo di un elemento dichiarato con 'BASED' che non è mai stato allocato con 'ALLOCATE' invia un puntatore nullo (0x0) al sottoprogramma, causando abend non appena viene dereferenziato.

Messaggio originale

Runtime crash: passing ADDRESS OF unallocated BASED item to subprogram (passing 0x0 / NULL pointer)

Contesto e parole chiave

Alias

  • passing ADDRESS OF unallocated BASED item COBOL

Messaggi alternativi

  • passaggio indirizzo variabile BASED non allocata a subprogramma

Prodotti

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

Piattaforme

  • AIX
  • IBM z/OS
  • Linux
  • Windows

Parole chiave

  • CALL e Linkage Subprogrammi
  • cobol
  • cobol.linkage.call-address-of-unallocated-based-item
  • errore-cobol-call-address-unallocated-based
  • file-status
  • gnucobol

Cause possibili

Causa tecnica per Errore COBOL: Passing ADDRESS OF unallocated BASED item (Puntatore Nullo a Sottoprogramma)

Passare l'indirizzo di un elemento dichiarato con 'BASED' che non è mai stato allocato con 'ALLOCATE' invia un puntatore nullo (0x0) al sottoprogramma, causando abend non appena viene dereferenziato.

molto comune

Diagnosi

Diagnostica di esecuzione e file status per Errore COBOL: Passing ADDRESS OF unallocated BASED item (Puntatore Nullo a Sottoprogramma)

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: Passing ADDRESS OF unallocated BASED item (Puntatore Nullo a Sottoprogramma)

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: Passing ADDRESS OF unallocated BASED item (Puntatore Nullo a Sottoprogramma) in COBOL?

Passare l'indirizzo di un elemento dichiarato con 'BASED' che non è mai stato allocato con 'ALLOCATE' invia un puntatore nullo (0x0) al sottoprogramma, causando abend non appena viene dereferenziato.

Approfondimenti

Schede correlate