Statement Execution Statistics Maintenance (Statistiken über ausgeführte Statement-Zeilen)

#### Search Results

Search

# Statement Execution Statistics Maintenance (Statistiken über ausgeführte Statement-Zeilen)

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.

- Test-Modus ON/OFF setzen

- Funktion Statement Execution Statistics auf ON/OFF/COUNT setzen

- Statement-Ausführungsstatistiken löschen

- Statement-Ausführungsstatistiken anzeigen

- Statements drucken

## Test-Modus ON/OFF setzen

Siehe Abschnitt Test-Modus ein- und ausschalten.

## Funktion Statement Execution Statistics auf ON/OFF/COUNT setzen

Mit dieser Funktion können Sie Statistiken über ausgeführte Statement-Zeilen von Natural-Objekten aktivieren.

Folgende Themen werden behandelt:

- Einstelloptionen

- Statement-Ausführungsstatistiken aktivieren und deaktivieren

### Einstelloptionen

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).

### Statement-Ausführungsstatistiken aktivieren und deaktivieren

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.

## Statement-Ausführungsstatistiken löschen

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.

## Statement-Ausführungsstatistiken anzeigen

Mit dieser Funktion können Sie einen Bildschirm aufrufen, der eine Liste von Statement-Ausführungsstatistiken enthält.

Um Statement-Ausführungsstatistiken anzuzeigen:

1. 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.

2. 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:

- Alle Statement-Zeilen anzeigen

- Nur die ausgeführten Statement-Zeilen anzeigen

- Nur die nicht ausgeführten Statement-Zeilen anzeigen

### Alle Statement-Zeilen anzeigen

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.

### Nur die ausgeführten Statement-Zeilen anzeigen

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.

### Nur die nicht ausgeführten Statement-Zeilen anzeigen

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.

## Statements drucken

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.

### Druckoptionen

Druckfunktion | Funktionscode | Zeilenkommando | Direktkommando
--- | --- | --- | ---
Statement-Ausführungsstatistik drucken | 1 |  | `PRINT XSTATISTICS library (object)`
Alle Statements drucken | 2 | `PS` | `PRINT STATEMENT library (object)`
Ausgeführte Statements drucken | 3 | `PX` | `PRINT EXEC library (object)`
Nicht ausgeführte Statements drucken | 4 | `PN` | `PRINT NOEXEC library (object)`

Siehe auch die Syntax des Direktkommandos `PRINT` im Abschnitt Debug-Kommandoübersicht und -syntax.

#### Verwandte Themen:

- Beispiel für einen PC Download in Objekte drucken im Abschnitt Call Statistics Maintenance (Statistiken über gerufene Objekte)

- Beispiel für das Erstellen und Drucken von Statistiken im Batch-Modus im Abschnitt Batch-Verarbeitung

### On this page

- Test-Modus ON/OFF setzen
- Funktion Statement Execution Statistics auf ON/OFF/COUNT setzen
- Statement-Ausführungsstatistiken löschen
- Statement-Ausführungsstatistiken anzeigen
- Statements drucken