3.18 DM_DumpState

Mit dieser Funktion werden IDM Zustandsinformationen in die Log- bzw. Tracedatei herausgeschrieben.

Syntax

void DML_default DM_EXPORT DM_DumpState

(

  DM_Enum state,

  DM_Options options

)

Parameter

-> DM_Enum state

Dieser Parameter beeinflusst, welche Abschnitte der Zustandsinformationen herausgeschrieben werden.

Der Dumpstate ist eine Zustandsinformation von IDM-relevanten Informationen um die Fehleranalyse einer IDM-Applikation zu erleichtern.

Der Inhalt des Dumpstate ist in verschiedene Abschnitte unterteilt, die variabel und der Fehlersituation angepasst sind. Außerdem wird er von zuvor aufgetretenen Fehlern beeinflusst. Beispielsweise führt eine erfolglose Speicherallokierung bei der nächsten Dumpstate-Ausgabe dazu, dass Informationen bzgl. der Speichernutzung durch den IDM ausgegeben werden. Konnten keine IDM-Objekte oder Bezeichner mehr angelegt werden, wird die Auslastung von IDM-Objekten und Bezeichnern ausgegeben.

Die Dumpstate-Information ist immer zwischen *** DUMP STATE BEGIN *** und *** DUMP STATE END *** eingeschlossen und kann folgende Abschnitte aufweisen:

  • PROCESS: Prozess- und Thread-Nummer, Datum/Uhrzeit.
  • ERRORS: Kompletter Inhalt der gesetzten Fehlercodes.
  • CALLSTACK: Aufruf-Stack – beinhaltet Regeln, DM-Schnittstellenfunktionen und die obersten, vom IDM aufgerufenen, Applikationsfunktionen.
  • THISEVENTS und EVENT-QUEUE: Aktuell verarbeitete thisevent-Objekte und deren Werte sowie Ereignisse die noch in der Warteschlange stehen.
  • USAGE: Anzahl angelegter Objekte, Module und Bezeichner, Speichergröße die vom Regelinterpreter und für die String-Übergabe genutzt wird.
  • MEMORY: Speichernutzung die vom IDM erfassbar ist.
  • SLOTS: Hinweise zu IDM-Objekten die nicht richtig freigegeben wurden.
  • VISIBLE OBJECTS: Liste der sichtbaren Objekte mit ihren Werten.

Um die Ausgabe möglichst klein zu halten, erfolgt sie normalerweise in gekürzter Form. Grundsätzlich immer erfolgt eine Kürzung von IDM-Strings (in “…“) auf maximal 40 Zeichen. Ihre Gesamtlänge wird in [ ] angehängt. Bytegrößen-Angaben erfolgen gekürzt auf Kilo-, Mega oder Gigabyte (k/m/g).

Folgende Werte sind möglich:

Wert (enum)

Bedeutung

DM_DUMP_all

Alle Abschnitte werden gekürzt herausgeschrieben.

Entspricht der Ausgabe bei einem FATAL ERROR.

DM_DUMP_error

Die Abschnitte ERRORS, CALLSTACK und EVENTS werden gekürzt herausgeschrieben.

Dies ist auch die normale Ausgabe im Falle eines EVAL ERRORS.

DM_DUMP_events

Die Abschnitte THISEVENTS und EVENT QUEUE werden ungekürzt herausgeschrieben.

DM_DUMP_full

Alle Abschnitte werden ungekürzt herausgeschrieben.

DM_DUMP_locked

Der Abschnitt SLOTS wird ungekürzt herausgeschrieben. Zusätzlich werden für gesperrte (locked) Objekte deren Attributwerte herausgeschrieben.

DM_DUMP_memory

Der Abschnitt MEMORY wird ungekürzt herausgeschrieben.

DM_DUMP_none

Nichts passiert (kein Herausschreiben).

DM_DUMP_process

Der Abschnitt PROCESS wird ungekürzt herausgeschrieben.

DM_DUMP_short

Alle Abschnitte (außer SLOTS) werden gekürzt herausgeschrieben.

DM_DUMP_slots

Der Abschnitt SLOTS wird ungekürzt herausgeschrieben.

DM_DUMP_stack

Der Abschnitt CALLSTACK wird ungekürzt herausgeschrieben.

DM_DUMP_usage

Der Abschnitt USAGE wird ungekürzt herausgeschrieben.

DM_DUMP_uservisible

Der Abschnitt VISIBLE OBJECTS wird ungekürzt für alle sichtbaren Toplevel-Objekte inklusive deren Kindobjekte, vordefinierten und benutzerdefinierten Attribute herausgeschrieben.

DM_DUMP_visible

Der Abschnitt VISIBLE OBJECTS wird ungekürzt herausgeschrieben.

Kombinationen aus mehreren Abschnitten sind nicht möglich.

-> DM_Options options

Dieser Parameter ist für zukünftige Versionen reserviert. Derzeit bitte nur 0 angeben.

Die Ausgabe von IDM Zustandsinformationen kann auch über die eingebaute Funktion dumpstate() und die Startoptionen ‑IDMdumpstate <enum> und ‑IDMdumpstateseverity <string> erreicht werden.

Verfügbarkeit

Versionen A.05.01.g3, A.05.01.h sowie ab Version A.05.02.e

Siehe auch

Kapitel „Dumpstate (Zustandsinformationen)“ im Handbuch „Entwicklungsumgebung“