Anmelden

View Full Version : Prüfung ob CL durch Rdi gedebugged wird



Etherion
03-09-14, 09:16
Hallo zusammen,

in vielen unserer Programme haben wir die Mimik(siehe Beispiel) eingebaut, dass bei laufendem Debugger ein Unterprogramm interaktiv und nicht im Batch aufgerufen wird.


PGM

DCL VAR(&DEBUG) TYPE(*LGL) VALUE('1')

CHGDBG
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&DEBUG) +
VALUE('0'))

IF COND(&DEBUG) THEN(CALL PGM(MYPGM))
ELSE CMD(SBMJOB CMD(CALL PGM(MYPGM)))

ENDPGM


Dies hat zum einen den Charme, das Programm nicht im Batch zu debuggen und zum anderen keine Jobqueue zu blockieren.

Im Greenscreen funktioniert dies einwandfrei, mit dem Debugger des Rdi leider nicht.

Zwar kann ich mit einem Serviceeingangpunkt das Programm im Batch debuggen, aber die Jobqueue wird trotzdem blockiert.

Gibt es im CL die Möglichkeit festzustellen, dass das Programm gerade durch den Rdi-Debugger gedebugged wird?

Gruß Stefan

Fuerchau
03-09-14, 09:30
Ich weiß nicht wie du das Debuggen damit verhindern willst.
Da ich einen Breakpoint auf den IF setzen und den Inhalt ändern kann wird der SBMJOB ja verhindert und weiter geht's im Geschäft.
Die Einzige Möglichkeit das Debuggen etwas einzuschränken ist ein CHGPGM RMVOBS(*ALL), was ggf. auch einen Releasewechsel verhindert.

Ich glaube nicht, dass sich der Typ des Debuggers feststellen lässt, da alles per API ausgelöst wird. Schließlich kann ja jeder seinen eigenen Debugger schreiben.
Und der OpsNav kann auch noch den Debugger (ohne RDI) aufrufen.

Etherion
03-09-14, 11:04
Hi Fürchau,

trotzdem Danke für die schnelle Antwort.

Gruß
Stefan