3.17 DM_DumpState
With this function IDM status information is written into the log or trace file.
Syntax
void DML_default DM_EXPORT DM_DumpState
(
DM_Enum state,
DM_Options options
)
Parameter
-> DM_Enum state
This parameter influences which sections of the status information are written out.
The dumpstate is a status information of IDM-relevant information in order to simplify error analysis within an IDM application.
The content of the dumpstate is divided into different sections that are variable and that are adapted to the error situation. In addition, the dumpstate is influenced by the errors that have previously occurred. For example, an unsuccessful memory allocation leads to information concerning the memory usage by the IDM in the next dumpstate output. If no IDM objects or identifiers can be created, then the utilization of IDM objects and identifiers is dumped.
The dumpstate information is always encased between *** DUMP STATE BEGIN *** and *** DUMP STATE END *** and can have the following sections, which are described in detail in the paragraphs below:
- PROCESS: Process and thread number, date/time.
- ERRORS: Complete content of the error codes set.
- CALLSTACK: Contains rules, DM interface functions and application functions directly called by the IDM.
- THISEVENTS and EVENT QUEUE: Currently processed thisevent objects and their values as well as events that are still in the queue.
- USAGE: The number of created objects, modules and identifiers and the size of the memory that is used by the rule interpreter and for string transfer.
- MEMORY: Memory usage as far as it can be detected by the IDM.
- SLOTS: Hints about IDM objects that have not been correctly released.
- VISIBLE OBJECTS: A list of the visible objects and their respective values.
In order to keep the output to a minimum, this is usually displayed in a shortened form. Generally, IDM strings (in "…") are always shortened to a maximum of 40 characters. Their entire length is attached in [ ]. Byte size information is given in kilo, mega or gigabytes (k/m/g).
Value Range
Value (enum) |
Meaning |
---|---|
DM_DUMP_all |
All sections are written out in an abbreviated form. This corresponds to the output in case of a FATAL ERROR. |
DM_DUMP_error |
The sections ERRORS, CALLSTACK and EVENTS are written out in an abbreviated form. This is the normal output in the case of EVAL ERRORS. |
DM_DUMP_events |
The sections THISEVENTS and EVENT QUEUE are written out in full. |
DM_DUMP_full |
All sections are written out in full. |
DM_DUMP_locked |
The section SLOTS is written out in full. In addition, for locked objects their attribute values are written out. |
DM_DUMP_memory |
The section MEMORY is written out in full. |
DM_DUMP_none |
No action (nothing is written out). |
DM_DUMP_process |
The section PROCESS is written out in full. |
DM_DUMP_short |
All sections (excluding SLOTS) are written out in an abbreviated form. |
DM_DUMP_slots |
The section SLOTS is written out in full. |
DM_DUMP_stack |
The section CALLSTACK is written out in full. |
DM_DUMP_usage |
The section USAGE is written out in full. |
DM_DUMP_uservisible |
The section VISIBLE OBJECTS is written out in full for all visible top-level objects including their children, the pre-defined and user-defined attributes. |
DM_DUMP_visible |
The section VISIBLE OBJECTS is completely written out. |
Combinations out of multiple sections are not possible.
-> DM_Options options
This parameter is reserved for future versions. At present pass only 0.
The output of the dumpstate also can be triggered with the built-in function dumpstate(), as well as through the command line options ‑IDMdumpstate and ‑IDMdumpstateseverity <string>.
Availability
IDM versions A.05.01.g3, A.05.01.h, as well as A.05.02.e and above
See Also
Chapter “Dumpstate (Status Information)” in manual “Development Environment”