Durchlaufen in Source-Units

Mit step und next kann man auch in anderen Einheiten als ''Statements'' durch das Programm gehen. Dazu gibt man einfach die gewünschte Einheit (''Granularität'') als Parameter mit an, also
       step/next [Source-Unit] [Wiederholungsfaktor],
wobei Source-Unit folgende Werte haben kann: expression, statement (default), block, loop und routine. Man erreicht damit jeweils die nächste Source-Einheit der gewünschten Art im Programm, wobei bei next ein Unterprogramm-Aufruf wieder nur als eine einzige Anweisung gewertet wird, während man mit step im Unterprogramm weitermacht.

Befindet sich die Programmausführung des Programms beispielsweise in Zeile 33 der Routine gaussj, dann kommt man mit ''step expression'' bis vor die Auswertung der ''1'', mit ''step statement'' bis vor die Ausführung von ''K=1'', mit ''step block'' bis zum Beginn der Zeile 34 - das IF beginnt den nächsten Block -, mit ''step loop'' wieder an den Anfang der Zeile 33, aber diesmal mit J=2, und ''step routine'' verhält sich erstaunlicherweise genauso, statt zum Beginn der nächsten Routine zu springen.

Möchte man regelmäßig in anderen Einheiten als Anweisungen durch das Programm gehen, kann man die Standard-Schrittweite von ''statement'' auf jede andere Source-Unit setzen mit

        set step SOURCE-UNIT.
Danach führen normale step- oder next-Schritte in der gewünschten Granularität weiter. Außerdem wird im Source-Fenster die Größe des schwarz markierten Bereichs entsprechend angepaßt. Statt zum Beginn der nächsten kann man auch zum Ende der aktuellen Source-Unit gehen mit dem Kommando
        finish [SOURCE-UNIT].
Außerdem kann man die aktuelle Source-Unit vorgegebener Größe bis zur nächsten Einheit der Default-Größe durchlaufen mit
        step/next over [SOURCE UNIT].
Damit kann man etwa mit ''step over loop'' die aktuelle Schleife beenden und bis zum nächsten Statement kommen (falls dies die Default-Schrittweite ist). Steht man vorher z.B. in Zeile 70 (DO-Schleife mit Label 21), kommt man damit zur Zeile 30, denn dies ist nach der Beenden der Schleife 21 und Iterieren von Schleife 22 die nächste Anweisung. Man hat damit eine große Auswahl an Möglichkeiten, in gezielten Schritten durch das Programm zu kommen, von denen man allerdings i.d.R. nur wenige häufiger benutzen wird.

previous    contents     next

Peter Junglas 18.10.1993