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”