PDA

View Full Version : Automatische Spoolfile bei Dump anpassen



Wittmann Benjamin
17-07-13, 11:17
Hi *ALL,

gibt es die Möglichkeit, die Spooldatei, die beim Dump eines Programmes automatisch vom System erzeugt wird, anzupassen?

Mir geht es darum, dass in dieser alle Felder, die in dem Programm angesprochen werden mit ihrem jeweiligen Wert zum Zeitpunkt des Dumps abgespeichert werden. Kann man nur für ein einzelnes Programm (eventuell beim Umwandeln) festlegen, dass der Dump nur die Basisinformationen (Fehlergrund und Position) enthält, aber keine Information über die einzelnen Felder?

Hintergrund ist, dass ich ein Verwaltungsprogramm geschrieben habe, das eine große Anzahl Daten beim Aufruf zusammensammelt und wegen der Performance und weiteren Verarbeitung in mehreren internen Arrays zwischenspeichert. (Die Arrays sind alle knapp unter der maximal vom Compiler erlaubten Größe)

Wenn mein Programm abstürzt, kommt es zu folgendem Phänomen: Die Dump-Spool wird vom System erzeugt, jedoch bleibt der Job/Benutzer, der abgestürzt ist, hängen, wie in einer Endlosschleife. Laut Aufrufstapel befindet er sich in diversen Systemprogrammen (die vermutlich für die Erzeugung des Spools zuständig sind) und tut gar nichts mehr.
Da ich meine Arrays im Verdacht hatte, hab ich in einem Testprogramm einen Teil der Arrays eingebaut und dieses dumpen lassen.
Das Ergebnis war, dass er mir nach einigen Sekunden die Nachricht brachte, dass die maximale Größe der Spooldatei erreicht sei. Sobald ich einige weitere Arrays mit aufgenommen habe, verhielt sich das Testprogramm wie mein Verwaltungsprogramm.

Ich habe zwar notgedrungen einen Monitor um das komplette Programm gezogen und lasse mir dann eine Nachricht zukommen, aber eine Spoolfile des Dumps wäre mir wesentlich lieber.

GeorgG
17-07-13, 11:37
wie wäre es mit einem CHGPRTF

dspfd FILE(QSYS/QPPGMDMP)

CHGPRTF FILE(QSYS/QPPGMDMP)
MAXRCDS(etwas mehr wie jetzt drinsteht)



Gruß
Georg

Fuerchau
17-07-13, 11:51
Den Dumpumfang kann man leider nicht einschränken.
Wenn die MAXRCDS überschritten werden, gibt es ja auch noch eine zu beantwortende Nachricht in QSYSOPR wenn der Job nicht auf Default- oder automatische Antwort steht.

Wittmann Benjamin
17-07-13, 12:56
Danke für die Tipps.

Leider sind die MAXRCD nicht das Problem, weil weder beim User noch beim Sysopr schlägt eine Meldung auf. :(

Mein Programm verhält sich aktuell wie folgt:
Sobald es dumpt, erzeugt es die Spoolfile, das Programm bleibt offen und laut WRKACTJOB rennt der Job mit 50% Systemleistung munter vor sich hin (es taucht keine! Meldung beim SYSOPR oder Benutzer auf).
Die Spoolfile kann angezeigt werden, jedoch fängt auf der letzten Seite gerade mal die Liste aller Bezugszahlen an.

Sobald ich den Job gewaltsam beende,
wird die Spooldatei nochmal exakt eine Seite länger, in der noch die restlichen Bezugszahlen aufgelistet sind.

Frisch aus der Mittagspause, noch einmal das Testprogramm dumpen lassen --> zwei Sekunden später war es "sauber" abgestürzt und die Spool war komplett mit allen Feldern da (nicht einmal Ansatzweise die MAXRCD erreicht).
Vor lauter Verwunderung noch einmal aufgerufen --> Verhalten wie oben beschrieben :eek: