Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Symbole

&pagelevel(5)&pagelevel

Mit Symbolen greift man auf Daten des zu Grunde liegenden Diagnoseobjekts (Dumpfile, System) oder auf Metadaten des Programmes DAMP zu. Ein Symbol besitzt einen Namen beginnend mit einem Punkt, eine Relativadresse, einen Typ und eine Länge.

Symbole können nicht beliebig benannt werden, sondern müssen

  • dem Programm DAMP aus der Symboldatei bekannt sein,

  • mit der Anweisung ARRANGE innerhalb der PRODAMP-Prozedur erzeugt werden oder

  • intern, also vonseiten der Programmiersprache PRODAMP definiert sein.

Name, Relativadresse, Typ und Länge eines Symbols sind in den DAMP-Symboldateien bzw. den privaten, mit ADD-SYMBOLS zugewiesenen Symboldateien hinterlegt. Die Relativadresse bezieht sich immer auf den Anfang der Struktur (DSECT), in der das betreffende Symbol enthalten ist. Daraus ergibt sich, dass über ein Symbol nur dann auf eine Datenstruktur des Diagnoseobjekts zugegriffen werden kann, wenn man die Basis-Adresse der betreffenden Struktur angibt. Das wird auch in der Syntax für ein Symbol berücksichtigt.

Beispiele

.ETCBTFT

„.ETCBTFT“ ist durch den Punkt als Symbol erkennbar. Die explizite Angabe einer Basis-Adresse ist nicht erforderlich, da der TCB zu den durch DAMP automatisch lokalisierbaren Strukturen gehört (wie auch JCB, UVMT, SVMT oder EXVT).

A_FCB.ID1FILE

„A_FCB“ ist eine Variable, die die Basis-Adresse der betreffenden Struktur - hier eines TU-FCB - enthält. „ID1FILE“ ist ein Feldname aus der DSECT „ID1FCB“.

PTR.NKLCB_MDL.COPY_PARAMETER.USER_ALLOCATION.WAIT_FACTOR

Bei diesem Beispiel handelt es sich um Symbole in Substrukturen; diese werden durch Angabe der Substruktur-Schachtelung oder durch Aufruf der PRODAMP-Standardprozedur REFERENCE spezifiziert.
Die Angabe der DSECT (NKLCB_MDL) ist nur dann notwendig, wenn das erste Symbol (COPY_PARAMETER) hinsichtlich aller in der Symboldatei enthaltenen DSECTs nicht eindeutig ist.

Folgende Namen sind bei PRODAMP als Bezeichner reserviert und können nicht für Variable verwendet werden:

ABS-ADDRESSING  ADDRESS         ALET            AND             ARRANGE
ASEL            COMMAND         CPU             CURRENT         DEC_BINARY
DEC_STRING      DMP_#REFRESH    DO              DSECT           DUMP_MEMORY
ELSE            ELSIF           END             ENTER_MODULE    EXTRACT
FALSE           FOLLOW          HEX_BINARY      HEX_STRING      HSA
IF              IN              INFIELDS        INSERT          INTERRUPT
ITN             LAYOUT          LENGTH          LIST            LOCATION
MESSAGE         MOD             NAME            NEW_TASK        NEXT_WINDOW
NOT             NUMBER          NUMERIC         OFF             OFFSET
ON              OPC_TABLE       OR              OUTPUT          PARAMETER
PATTERN         PCB             PCK_BINARY      READ            READ_WINDOW 
REAL            REFERENCE       RELATIVE        RETURN          SET_HEADER
SPID            STRING          SVC_TABLE       THEN            TID
TRACE           TRUE            TSN             TYPE            UNDEFINED  
UNSIGNED_OFF    UNSIGNED_ON     VIRTUAL         WHILE           WINDOW

WRITE

Folgende Namen sind bei PRODAMP als Symbolbezeichner gekoppelt mit CURRENT und INFIELDS reserviert. Sie können, falls sie nicht in der oben angeführten Liste enthalten sind, zwar als Variable, jedoch nicht zur Bezeichnung von Symbolen verwendet werden.

ADDRESS         ALET            ASEL            ASID            ATYPE
COMMAND         CONFIGURATION   CPU             CSMA            DTYPE
DUMPTIME        ERROR           FILENAME        HSA             ITN
LAYOUT          LENGTH          LEVEL           MARK1           MARK2
MARK3           MARK4           MARK5           MARK6           PARAMETER     
PCB             PTYPE           RELATIVE        SEGMENT         SPID
STACK           SYMBOL          TIME            TID             TSN
VERSION         WNDNO           WNDTSK

PRODAMP-Prozeduren mit diesen Namen können nicht als Benutzer-Unterprogramm aufgerufen werden.

Alle Bezeichner, die mit DMP_ beginnen, sind für künftige PRODAMP-Erweiterungen reserviert und sollten daher nicht in Benutzerprogrammen verwendet werden.