PDA

View Full Version : Gibt es die Funktion Debug-Trace noch?



BikerKini
11-07-07, 10:56
Schon wieder eine Dumme Frage vom BikerKini.

Nachdem ich die letzten 8 Jahre nicht mehr auf AS/400 gearbeitet hab passt mein Wissensstand nicht mehr so recht zu den aktuellen Gegebenheiten.

Früher konnte ich mit dem Befehl STRDBG einen Debug für ein Programm starten und mit ADDTRC ein Traceprotokoll mitlaufen lassen, daß ich später mit DSPTRCDTA ausdrucken konnte um zu sehen auf welchen Statements das Programm "rumturnt". Jetzt bringt mir der Befehl ADDTRC nur noch den Fehler "Programm XXX in der OPM-Testhilfeumgebung nicht aktiv." Den Parameter OPMSRC beim STRDBG habe ich auf *YES. Gibt's noch einen anderen Fallstrick den ich beachten muß um einen Trace zu kriegen?
Einzelne Brakepoints möchte ich nicht setzten dazu ist der Programmablauf zu unübersichtlich und komplex.

Weiß jemand Rat?

Fuerchau
11-07-07, 11:27
Wie der der Befehl ADDTRC schon sagt.
Du musst das Programm aufrufen um ADDTRC zu verwenden.
Also per STRDBG Testumgebung starten, einen Breakpoint setzen, das Programm aufrufen und JETZT erst ADDTRC verwenden.

Bernd Wiezroek
11-07-07, 11:43
Wenn du nicht grade ILE RPG machst kann man mit STRISDB auch inline debuggen.

Da findet mann meist schnell logische Fehler. DA mann relevant variabel über watch verfolgen kann. mir F13 kann mann bis zur Cursoposition ausführen das kann der normale debugger nicht.

BikerKini
11-07-07, 11:44
Hallo Fuerchau. Danke für den Tip.

Ich hab das mal so probiert wie vorgeschlagen, aber es kommt der gleiche Fehler. Kann es sein daß ich die falschen Umwandlungsparameter für den Trace habe? Ich habe die Source mit DBGVIEW (*SOURCE) umgewandelt. Braucht ein Trace evtl. DBGVIEW (*ALL) bei der Umwandlung?

BikerKini

Fuerchau
11-07-07, 12:04
Der STRDBG unterstützt 2 Modi:
Debug mit Quelle: OPMSRC(*YES)
Debug ohne Quelle: OPMSRC(*NO)

Im 1. Modus funktionieren die externen Debug-Befehle wie ADDBKP, DSPPGMVAR und auch ADDTRC nicht, da es z.T. eben Dialogbefehle hierfür gibt.

Im 2. Modus (hier ist die Umwandlung fast egal und kann daher auch z.B. auf Kundensystemen ohne Quelle verwendet werden) können eben diese "alten" bzw. Batch-Befehle verwendet werden.

Du musst also in deinem Fall
STRDBG ... OPMSRC(*NO)
verwenden, per ADDBKP einen Breakpoint setzen, das Programm aufrufen und dann deinen ADDTRC.

Allerdings ist das Quelldebuggen meist hilfreicher, da ich kein Spoollisting benötige.