Core Dump Subsystem Overview and Concepts

Overview

The Core Dump Subsystem (CDS) provides a mechanism to capture the state of the system when an application or the system fails. It also has the ability to collect information in the event of a crash in the Symbian platform kernel. As part of the software application development and testing process, it is important to capture failure information in order to analyse the failure. The Core Dump Subsystem collects such failure information from the run-mode debug subsystem. This information is later analysed to view failures in the correct context. Information analysed can include: why the failure occurred, source code location, local variable values, and so on.

Concepts

The section briefly describes the key concepts related to the tool:

Core dump

The failure information that is captured by the Core Dump Subsystem during an application failure or a system failure is referred to as the core dump. Using the core dump, the debugging tools can find out why the failure occurred.

Observed set

A group of threads and processes that are selected by the user to be observed for failure is referred to as Observed set. A process, and the threads within, can only belong to the Observed set if the Debug Security Server can debug the process. This is achieved by adding the keyword DEBUGGABLE to the executable file’s MMP file. Any thread or process in the Observed set that leads to application failure results in the creation of a core dump.

System Crash Monitor

The System Crash Monitor (SCM) provides a mechanism for gathering data about crashes within the Symbian platform kernel. The SCM can be used for analysis of user-side crashes. You can configure the SCM to collect different kinds of data when a system crash occurs and outputs the data into a selected format. The data can be saved in a documented format, for example the Symbian ELF format that can then be analysed by another set of tools.

Reserved Crash Partition

The reserved crash partition stores system crash information that it receives from the SCM. The reserved crash partition stores information on a first-in-first-out basis. For instance, when the SCM attempts to write new crash information to a completely full reserved crash partition, the initial crash details stored in the partition are removed to accommodate the newer crash details. The amount of memory freed in the reserved crash partition is equal to the size of the crash information to be included. However, the reserved crash partition is not updated if the size of the crash information to be included is greater than the capacity of the partition.

You can also configure the SCM to enable the reserved crash partition store information on multiple crashes. For details, see Configuring the SCM for Multiple Crashes.

Core Dump UI

The primary means of accessing the Core Dump Subsystem configuration settings, listing system crashes and application failures, and generating output files is through the Core Dump UI. The Core Dump UI allows you to view the following:

  • Processes

  • Threads

  • Plug-in types

  • Instances and executables