Statistiken über ausgeführte Statement-Zeilen verwalten - Menü: Statement Execution Statistics Maintenance

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.

Beginn der AnweisungslisteUm 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

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

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.

Beginn der AnweisungslisteUm 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.

Beginn der AnweisungslisteUm 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

Beginn der AnweisungslisteUm 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.

Beginn der AnweisungslisteUm 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

Der Bildschirm Display Statement Lines zeigt den Objekt-Quellcode und gibt an, ob eine Statement-Zeile ausgeführt worden ist oder nicht.

Beginn der AnweisungslisteUm 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.

Beginn der AnweisungslisteUm 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.

Beginn der AnweisungslisteUm 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: