Ein Systemdump wird mit der Operandenangabe SCOPE=*SYSTEM beim Makro CDUMP2 angefordert und stets unter der Kennung SYSDUMP katalogisiert.
Er umfasst den gesamten Klasse-6-, Klasse-5-, Klasse-3- und Klasse-1-Speicher mit Ausnahme der Seiten, die zu „Secret Pages“ erklärt wurden. Einige Systemparameter beeinflussen die Ausgabe der Speicherbereiche (siehe Abschnitt „Steuerung durch Systemparameter").
Die Bereiche mit den Tabellen
EXVT
SVMT
UVMT
TCB
PCB-Stack
JCB
TTSAV
P1-AUDIT
werden automatisch mit dem Klasse-5-, Klasse-3- und Klasse-1-Speicher ausgegeben. Vom Klasse-4-Speicher werden alle Datenseiten außer „Secret Pages“ ausgegeben.
Ferner umfasst der Systemdump solche Seiten des Klasse-4- und Klasse-2-Speichers, die bis zu einem Abstand von 5 Seiten vor und 5 Seiten nach einer Referenzadresse liegen und die Referenzseite selbst. Auf Referenzadressen verweisen die Befehlszähler (PC) aus den PCBs und der Trace Table sowie die Mehrzweckregister der PCBs und die Börsenregister der PCBs. Ausgenommen davon sind Speicherseiten mit dem Attribut „Secret Pages“.
Ein Systemdump enthält außerdem:
die Module: AIDSYSD, EOLDTAB, DMCHD, NSISINF und CLASS2OP
den Bereich Trace Dump List
die Systemdateien REPLOG und SERSLOG
(sie werden bis zum Last Page Pointer jeweils in eigenen Dumpabschnitten hinterlegt)
Mit dem Operanden SNAP im Makro CDUMP2 kann die Zwischenspeicherung des Klasse-1-, Klasse-3- und des residenten Klasse-4-Speichers vor der eigentlichen Dumperstellung angefordert werden (nur privilegierte Anwender). Dieser so genannte SNAP-Dump wird bei der Erstellung des Systemdumps in den Dump eingearbeitet.
Der Operator erhält eine Meldung (IDA0N52
) und kann daraufhin entscheiden, ob der Systemdump auf Platte oder Band ausgegeben werden soll. Die Ausgabe dieser Meldung kann mit den Systemparametern DUMPCTRL und DUMPSD# unterdrückt werden.
Ein Systemdump kann normalerweise nur aus dem privilegierten Systembereich (TPR) angefordert werden. Doch auch als nichtprivilegierter Anwender können Sie einen Systemdump anfordern, falls Sie zuvor Ihre Leseprivilegierung mit dem Kommando
/MODIFY-TEST-OPTIONS PRIVILEGE=*PARAMETERS(READ=m,WRITE=1)
auf einen Wert m >=
3 eingestellt haben. Dazu sind Sie nur berechtigt, wenn Ihnen diese Privilegierungsmöglichkeit im Benutzerkatalog eingeräumt wurde.
Ein Userdump kann bei vorliegender Privilegierung (siehe oben) in einen Systemdump umgewandelt werden (Kommando MODIFY-TEST-OPTIONS Operand DUMP=*SYSTEM). Die Meldung IDA0N45
wird unterdrückt. Der Operator kann steuern, ob der Systemdump auf Platte oder auf Band ausgegeben wird.
Beim Systemdump wird, abhängig vom Wert des Systemparameters DUMPCTRL, bei einem abnormalen Dumpabbruch die Meldung IDA0N99
ausgegeben.
Ein Systemdump, der auf Band ausgegeben wurde, muss mit dem Kommando COPY-FILE oder mit dem Dienstprogramm PERCON auf Platte kopiert werden. Anschließend ist eine Aufbereitung mit dem Diagnoseprogramm DAMP möglich.
Beispiel 1
/IMPORT-FILE SUPPORT=*TAPE (VOLUME=<volume>,DEVICE=<device>,FILE-NAME=<dateiname>) ———— (1) /ADD-FILE-LINK LINK=DMCOPY11,FILE-NAME=<dateiname>,ACCESS-METHOD=*UPAM, BUFFER-LENGTH=*STD(2) —————————————————————————————————————— (2) /ADD-FILE-LINK LINK=DMCOPY22,FILE-NAME=<ausgabedateiname>, ACCESS-METHOD=*UPAM,BUF-LEN=*STD(2) ———————————————————————— (3) /COPY-FILE FROM-FILE=<originaldateiname>,TO-FILE=<ausgabedateiname> ——— (4)
(1) | Eintragen der Banddatei im Systemkatalog |
Siehe auch Beschreibung von COPY-FILE im Handbuch „Kommandos“ [8].
Beispiel 2
/CREATE-FILE <output-filename> ———————————————————————————————————————— (1) /ADD-FILE-LINK LINK-NAME=<link-name>,FILE-NAME=<output-filename>,- / ACCESS-METHOD=*PAM,BUFFER-LENGTH=*STD(SIZE=1) /START-PERCON //ASSIGN-INPUT-FILE FILE=*TAPE-FILE(NAME=<filename>) —————————————————— (2) //ASSIGN-OUTPUT-FILE FILE=*DISK-FILE(NAME=<output-filename>) —————————— (3) //START-CONVERSION ———————————————————————————————————————————————————— (4) //END
(1) | Erstellen der Ausgabedatei |
Dateiname eines Systemdumps
CDUMP legt einen Systemdump unter der Systemkennung SYSDUMP ab und erzeugt den Dateinamen nach folgendem Muster:
:catid:$SYSDUMP.{ ABSOLU | module }.pc.ec.tsn.date.time
Dabei bedeuten:
catid | Katalogkennung des Public-Volume-Sets, auf dem der Dump abgelegt wurde. |
modul | Name des Moduls, in dem der Speicherauszug aktiviert wurde, max. 8 Zeichen |
ABSOLU | Wird eingesetzt, wenn kein Modulname existiert |
pc | Adresse im Befehlszähler (relativ zum Modulanfang bzw. absolut) |
ec | Ereigniscode (sedezimal). Wurde der Systemdump mit dem Kommando CREATE-DUMP eingeleitet, hat der Ereigniscode ec den Wert 'C8' |
tsn datum | TSN der Task, die den Speicherauszug aktiviert hat. Datum in der Form Dyymmdd (D=Aufmerker für Datumsbeginn, yy=Jahr, mm=Monat, dd=Tag). |
uhrzeit | Uhrzeit in der Form hhmmss (hh=Stunde, mm=Minuten, ss=Sekunden) |