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“