Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Einführung

&pagelevel(4)&pagelevel

PRODAMP (PROzedursprache für DAMP) ist eine an Pascal orientierte Sprache zur Formulierung von Diagnose-Algorithmen in DAMP. PRODAMP läuft unter DAMP und nutzt die dort gebotenen Funktionen, wie etwa symbolisches Ansprechen von Datenstrukturen oder die Ausgabe auf Bildschirmfenster in verschiedenen Formaten.

Mit PRODAMP können Sie an Entscheidungen gebundene Anweisungen, die sonst einzeln von Hand eingegeben werden müssten, in eine Prozedur schreiben und automatisch ablaufen lassen. Dazu gehört zum Beispiel das Verfolgen von Verkettungen bis zu einer Struktur, die ein gesuchtes Datum enthält, das Durchsuchen von Tabellen und die (z.B. arithmetische) Verarbeitung der darin enthaltenen Werte, die automatische Beantwortung von Fragen etwa der Art: „Hält diese Task einen Lock“ u.s.w.

Beispiel

Angenommen, Sie haben häufiger Probleme zu analysieren, bei denen das Programm auf Grund eines DMS-Fehlers abstürzt und Sie als Unterlage lediglich einen Userdump erhalten. Um die betroffene Datei und den vom DMS gelieferten Fehlercode „von Hand“ zu ermitteln, sind folgende Schritte erforderlich:

  1. Zuweisen des Dumpfiles

  2. Auswählen des PCB, der den DMS-Makro eingegeben hat

  3. Markieren von Register 1 in diesem PCB

  4. Zuweisen des von Register 1 adressierten Bereichs (FCB) auf ein anderes Fenster

  5. Überlagern des Bereichs mit der DSECT des FCB

  6. Positionieren auf das Feld ID1FILE (Dateiname)

  7. Positionieren auf das Feld ID1ECB (Fehlercode)

Die Schritte 3 bis 7 lassen sich in eine PRODAMP-Prozedur fassen und anschließend immer wieder automatisch abspulen.

Wurde die Prozedur beispielsweise unter dem Namen DMSERR abgelegt, reduzieren sich die Aktivitäten zum Ermitteln des DMS-Fehlercodes auf folgende Schritte:

  1. Zuweisen des Dumpfiles

  2. Auswählen des PCB, der den DMS-Makro eingegeben hat (zur Versorgung von CURRENT.PCB)

  3. Eingeben der DAMP-Anweisung //START-PRODAMP-PROGRAM DMSERR

Die PRODAMP-Prozedur DMSERR könnte etwa folgendermaßen aussehen:

FNAM := ' '*54;
ERR := 0;
P := CURRENT.PCB;
FCB@ := P.ESTKGR1;
FNAM := FCB@.ID1FILE;
ERR := FCB@.ID1ECB ;
MESSAGE ( 'DMS-FEHLER '+HEX_STRING(ERR)+' FUER DATEI '+FNAM );

Diese Prozedur leistet sogar noch etwas mehr als die oben aufgeführten Einzelschritte, da die gewünschte Information gleich aufbereitet ausgegeben wird und nicht im Ausgabe-Fenster herausgefunden werden muss.

Eine in der PRODAMP-Sprache geschriebene Prozedur (PRODAMP-Source) ist nicht direkt ausführbar, sondern muss zunächst in ein PRODAMP-Programm (PRODAMP-Objekt) übersetzt werden. Die Übersetzung kann in einem PRODAMP-Fenster durchgeführt werden, das im Übrigen eine vollständige Entwicklungsumgebung für PRODAMP-Prozeduren bietet. Mit der DAMP-Anweisung START-PRODAMP-EDITOR wird dieses Fenster aufgerufen. Neben dem Editieren, Übersetzen und „ad hoc“ Ausführen von Prozeduren, können hier Sources und erzeugte Objekte in eine PRODAMP-Bibliothek abgelegt werden. Die DAMP-Anweisung START-PRODAMP-PROGRAM ermöglicht schließlich die Ausführung von PRODAMP-Programmen aus einer PRODAMP-Bibliothek.

PRODAMP kann also Routinearbeiten übernehmen, die anfallen, bevor man zum eigentlichen Kern des Problems vorgedrungen ist.