Mit dieser Funktion erhalten Sie Statistikinformationen darüber, welche Statement-Zeilen aufgerufener Natural-Objekte ausgeführt wurden. Außerdem zeigt die Funktion, wie oft ein Objekt aufgerufen und wie oft eine Statement-Zeile ausgeführt wurde.
Statistikinformationen über die Ausführung von Statements können für folgende Zwecke verwendet werden:
Aufspüren von "totem" Programmcode (der nie ausgeführt wird) in einer Anwendung,
Abschätzen des Abdeckungsgrads eines Anwendungstests (wie viele Statement-Zeilen sind nicht wenigstens einmal beim Testen ausgeführt worden),
Orten von häufig ausgeführten Programmabschnitten, die Auswirkungen auf die Performance der Anwendung haben könnten.
Um die Funktion Statement Execution Statistics Maintenance aufzurufen:
Geben Sie im Hauptmenü Debug Main Menu den
Funktionscode X
ein.
Oder:
Geben Sie folgendes Direktkommando ein:
XS
Das Menü Statement Execution Statistics Maintenance wird angezeigt.
Die im Menü Statement Execution Statistics Maintenance zur Verfügung stehenden Funktionen werden im folgenden Abschnitt erklärt. Alle zugehörigen Druckfunktionen sind jedoch im Abschnitt Objekte drucken beschrieben.
Siehe Abschnitt Test-Modus ein- und ausschalten.
Mit dieser Funktion können Sie Statistiken über ausgeführte Statement-Zeilen von Natural-Objekten aktivieren.
Folgende Themen werden behandelt:
Wenn ein Natural-Objekt ausgeführt wird und die Funktion
Statement Execution Statistics auf ON
oder
COUNT
gesetzt ist, werden alle in einem bestimmten Objekt
ausgeführten Statement-Zeilen in einem Statistikbericht aufgelistet.
Wenn die Option ON
gesetzt ist, hält der Debugger
nur fest, ob eine spezifische Statement-Zeile ausgeführt wurde oder nicht.
Wenn die Option COUNT
gesetzt ist, zählt der
Debugger, wie oft eine Statement-Zeile ausgeführt wurde
Sie können eine Library und einen Objektnamen angeben, um die Statement-Ausführungsstatistik auf die gewünschten Natural-Objekte einzuschränken. Standardmäßig werden Statistikdaten für alle Objekte in der aktuellen Library gesammelt. Sie können Stern-Notation (*) benutzen, um einen Bereich von Namen anzugeben.
Wenn Sie die Statement-Ausführungsstatistik von ON
nach COUNT
oder umgekehrt schalten, sind bereits vorhandene
Statistiken davon nicht betroffen, d.h., ihr Status bleibt auf ON
oder COUNT
.
Die gesammelten Statistikdaten werden im Debug-Pufferspeicher gespeichert. Die Menge an Speicherplatz, die benötigt wird, um statistische Informationen für ein Objekt zu speichern, ist ungefähr:
(Anzahl der Quellcode-Zeilen) / 8 + 100 Bytes, wenn
Statement Execution Statistics auf
ON
gesetzt ist,
und
(Anzahl der Quellcode-Zeilen) * 4 + 100 Bytes, wenn
Statement Execution Statistics auf
COUNT
gesetzt ist.
Wenn Sie ein Natural-Objekt ändern, indem Sie Zeilen einfügen oder
löschen und die Zeilen nicht neu nummerieren, bevor Sie es mit dem Kommando
STOW
speichern und katalogisieren, kann sich die für
die Statistikdaten des Objekts benötigte Speichermenge erhöhen. Um dies zu
vermeiden, können Sie in Ihrem Editor-Profil die Option Auto
Renumber auf Y
(Yes) setzen (siehe
Editor-Profil
in der Editoren-Dokumentation) oder das Systemkommando
CATALL
(siehe Systemkommandos-Dokumentation) benutzen, und zwar
bei (standardmäßig) eingeschalteter Option Renumber source-codes
lines (Quellcode-Zeilen neu nummerieren).
Sie können das Debugger-Kommando PROFILE
benutzen
(siehe Kommandos zum Navigieren und Anzeigen von
Informationen), um die Größe des Debug-Pufferspeichers
einzuschränken. Wenn die Option Statement Execution
Statistics auf COUNT
gesetzt ist, werden bei Objekten
mit mehr als 8000 Statement-Zeilen keine Statement-Ausführungsstatistiken
erfasst.
Statement-Ausführungsstatistiken unterliegen als Teil der
Debug-Umgebung den Auswirkungen der Direktkommandos SAVE
ENVIRONMENT
und LOAD ENVIRONMENT
(siehe auch Abschnitt Debug
Environment Maintenance - Debug-Umgebung verwalten).
Dieser Abschnitt beschreibt, wie Sie Statement-Ausführungsstatistiken aktivieren und deaktivieren.
Sie können eine Library und/oder einen Objektnamen angeben, um die Statement-Ausführungsstatistik auf die gewünschten Natural-Objekte einzuschränken. Standardmäßig werden Statistikdaten für alle Objekte in der aktuellen Library gesammelt. Sie können Stern-Notation (*) benutzen, um einen Bereich von Namen anzugeben.
Um Statement-Ausführungsstatistiken zu aktivieren:
Geben Sie im Menü Statement Execution Statistics
Maintenance den Funktionscode S
, den Namen einer
Library und/oder den Namen eines Objekts an. Ändern Sie den Wert im Feld
State auf ON
.
Oder:
Geben Sie eines der folgenden Direktkommandos ein:
SET XSTATISTICS ON library (object)
oder
SET XSTATISTICS COUNT library (object)
Siehe auch die Syntax des Direktkommandos
SET
in
Debug-Kommandoübersicht und
-syntax.
Wenn Sie keine Library und/oder ein Objekt angeben, werden die Statistikdaten zu allen Objekten in Ihrer aktuellen Library aktiviert.
Um Statement-Ausführungsstatistiken zu deaktivieren:
Geben Sie im Menü Statement Execution Statistics
Maintenance den Funktionscode S
, den Namen einer
Library und/oder den Namen eines Objekts an. Ändern Sie den Wert im Feld
State auf OFF
.
Oder:
Geben Sie folgendes Direktkommando ein:
SET XSTATISTICS OFF library (object)
Siehe auch die Syntax des Direktkommandos
SET
in
Debug-Kommandoübersicht und
-syntax.
Wenn Sie keine Library und/oder ein Objekt angeben, werden die Statistikdaten zu allen Objekten in Ihrer aktuellen Library deaktiviert.
Um Statement-Ausführungsstatistiken zu löschen:
Geben Sie im Menü Statement Execution Statistics
Maintenance den Funktionscode C
, den Namen einer
Library und/oder den Namen eines Objekts an.
Oder:
Geben Sie folgendes Direktkommando ein:
DELETE XSTATISTICS library (object)
Siehe auch die Syntax des Direktkommandos
DELETE
in
Debug-Kommandoübersicht und
-syntax.
Wenn Sie keine Library und/oder ein Objekt angeben, werden die Statistikdaten zu allen Objekten in Ihrer aktuellen Library gelöscht.
Mit dieser Funktion können Sie einen Bildschirm aufrufen, der eine Liste von Statement-Ausführungsstatistiken enthält.
Um Statement-Ausführungsstatistiken anzuzeigen:
Geben Sie im Menü Statement Execution Statistics
Maintenance den Funktionscode D
, den Namen einer
Library und/oder den Namen eines Objekts an.
Oder:
Geben Sie folgendes Direktkommando ein:
DISPLAY XSTATISTICS
Der Bildschirm List Statement Execution Statistics wird angezeigt:
16:02:01 ***** NATURAL TEST UTILITIES ***** 2002-02-15 Test Mode ON - List Statement Execution Statistics - Object All Co Object Library Type DBID FNR Obj.Called Exec Exec % Total No. *_______ *_______ n Times able uted Executions __ TEST SAG Program 10 32 4 20 17 85 95 __ MAP01 SAG Map 10 32 6 2 2 100 12 __ SPGM02 SAG Subprogram 10 32 2 6 2 33 4 __ SAGTEST1 SAG Program 10 32 2 20 10 50 17 __ DEBPGM SAG Program 10 32 1 6 6 100 34 |
Zu jedem Objekt werden folgende Informationen angezeigt:
Aufrufhäufigkeit (Called n Times),
Anzahl der ausführbaren Statements (Exec able),
Anzahl der ausgeführten Statements (Executed),
Prozentsatz (%) der ausgeführten Statements bezogen auf die Gesamtzahl der ausführbaren Statements,
Gesamtzahl der ausgeführten Statements (Total No. Executions).
Falls Daten fehlen oder möglicherweise inkonsistent sind, wird der betroffene Listeneintrag hervorgehoben dargestellt.
Sie können in der Liste einen Eintrag mit einem Zeilenkommando zur Weiterverarbeitung markieren:
Zeilenkommando | Erklärung |
---|---|
DE |
Statement-Ausführungsstatistik löschen, s. oben. |
DS |
Alle Statement-Zeilen anzeigen. |
DX |
Nur die ausgeführten Statement-Zeilen anzeigen. |
DN |
Nur die nicht ausgeführten Statement-Zeilen anzeigen. |
I |
Informationen zum katalogisierten Objekt und zu Fehlern anzeigen. |
PS |
Alle Statement-Zeilen drucken. |
PX |
Nur die ausgeführten Statement-Zeilen drucken. |
PN |
Nur die nicht ausgeführten Statement-Zeilen drucken. |
Weitere Informationen zu Druckfunktionen siehe Statements drucken.
Im folgenden Abschnitt werden die Bildschirme beschrieben, die mit den Anzeigekommandos aufgerufen werden können:
Der Bildschirm Display Statement Lines zeigt den Objekt-Quellcode und gibt an, ob eine Statement-Zeile ausgeführt worden ist oder nicht.
Um den Bildschirm Display Statement Lines anzuzeigen:
Markieren Sie im Bildschirm
List Statement Execution Statistics den gewünschten
Eintrag mit dem Zeilenkommando DS
.
Oder:
Geben Sie folgendes Direktkommando ein:
DISPLAY STATEMENT library (object)
Siehe auch die Syntax des Direktkommandos
DISPLAY
in
Debug-Kommandoübersicht und
-syntax.
Der Bildschirm Display Statement Lines
erscheint. Wenn die Funktion Statement Execution
Statistics auf COUNT
gesetzt worden ist, wird die
Ausführungshäufigkeit der Statements-Zeile angezeigt. Beispiel:
16:04:01 ***** NATURAL TEST UTILITIES ***** 2002-02-15 Test Mode ON - Display Statement Lines - Object SAGTEST Line Source Count 0200 RD1. READ EMPLOYEES-VIEW BY NAME 2 0210 STARTING FROM #NAME-START THRU #NAME-END 0220 * 0230 IF LEAVE-DUE >= 20 1 0240 PERFORM MARK-SPECIAL-EMPLOYEES not executed 0250 ELSE not executed 0260 RESET #MARK 1 0270 END-IF 0280 * 0290 RESET #MAKE #MODEL 1 0300 CALLNAT 'SPGM02' PERSONNEL-ID #MAKE #MODEL 1 0310 * 0320 WRITE TITLE / '*** PERSONS WITH 20 OR MORE DAYS LEAVE DU 1 0330 / '*** ARE MARKED WITH AN ASTERISK ***' // 0340 DISPLAY '//N A M E' NAME 2 |
Falls kein eindeutiges Objekt angegeben wurde, erscheint der Bildschirm List Statement Execution Statistics.
Der Bildschirm Display Executed Statement Lines entspricht dem Bildschirm Display Statement Lines, aber es werden nur die Statement-Zeilen angezeigt, die ausgeführt worden sind.
Um den Bildschirm Display Executed Statement Lines aufzurufen:
Markieren Sie im Bildschirm List Statement
Execution Statistics den gewünschten Eintrag mit dem Zeilenkommando
DX
.
Oder:
Geben Sie folgendes Direktkommando ein:
DISPLAY EXEC library (object)
Siehe auch die Syntax des Direktkommandos
DISPLAY
in
Debug-Kommandoübersicht und
-syntax.
Falls kein eindeutiges Objekt angegeben wurde, erscheint der Bildschirm List Statement Execution Statistics.
Der Bildschirm Non-Executed Statement Lines entspricht dem Bildschirm Display Statement Lines, aber es werden nur die Statement-Zeilen angezeigt, die nicht ausgeführt worden sind.
Um den Bildschirm Display Non-Executed Statement Lines aufzurufen:
Markieren Sie im Bildschirm List Statement
Execution Statistics den gewünschten Eintrag mit dem Zeilenkommando
DN
.
Oder:
Geben Sie folgendes Direktkommando ein:
DISPLAY NOEXEC library (object)
Siehe auch die Syntax des Direktkommandos
DISPLAY
in
Debug-Kommandoübersicht und
-syntax.
Falls kein eindeutiges Objekt angegeben wurde, erscheint der Bildschirm List Statement Execution Statistics.
Mit den Druckfunktionen können Sie eine generierte Liste der
Statement-Ausführungsstatistiken direkt an einen Drucker weiterleiten oder die
Liste auf einen PC herunterladen. Sie geben einen Drucker als Ausgabegerät im
Bildschirm User Profile (Benutzerprofil) des Debuggers an.
Benutzen Sie das Debugger-Kommando PROFILE
(siehe
Abschnitt Kommandos zum Navigieren und Anzeigen von
Informationen), um diesen Bildschirm aufzurufen.
Wenn Sie keinen Library-Namen angeben, wird standardmäßig die Library angenommen, bei der Sie gerade angemeldet sind.
Wie unter Druckoptionen weiter unten angegeben, können Sie zum Aufrufen einer der Druckfunktionen entweder einen Funktionscode im Menü Statement Execution Statistics Maintenance, ein Zeilenkommando im Bildschirm Display Statement Lines oder ein Direktkommando eingeben.
Druckfunktion | Funktionscode | Zeilenkommando | Direktkommando |
---|---|---|---|
Statement-Ausführungsstatistik drucken | PRINT XSTATISTICS
library (object)
|
||
Alle Statements drucken | PS |
PRINT STATEMENT library
(object)
|
|
Ausgeführte Statements drucken | PX |
PRINT EXEC
library (object)
|
|
Nicht ausgeführte Statements drucken | PN |
PRINT NOEXEC
library (object)
|
Siehe auch die Syntax des Direktkommandos
PRINT
im
Abschnitt Debug-Kommandoübersicht
und -syntax.
Beispiel für einen PC Download in Objekte drucken im Abschnitt Statistiken über gerufene Objekte verwalten - Menü: Call Statistics Maintenance
Beispiel für das Erstellen und Drucken von Statistiken im Batch-Modus im Abschnitt Batch-Verarbeitung