Core Dump Server configuration file.
Introduction
The Core Dump Server is used to capture application crash events. It is typically used with configuration GUI. However if a GUI is not available on a given platform, an application called coredumpscript.exe can be used in conjunction with a configuration file to setup the Core Dump Server. The information
that follows describes the configuration file.
A sample file is attached.
File Format
The configuration file is a Unicode file, and thus it can edited by users using a unicode editor such as VIM.
The configuration file has several sections, with each section having several parameters. There are parameter types. Some parameters consist of pairs ( KeyType<n>, KeyValue<n> ) or triplets ( KeyIndex<n>, KeyType<n>, KeyValue<n> ). Other parameters are UIDs for ECOM plugins or the Core Dump Server itself.
File Sections
The configuration file has the following sections:
- [ObservedConfiguration] : Which applications and threads to observe
- [CoreDumpServerConfiguration] : Data used by the Core Dump Server
- [FormatterConfiguration] : Formatter plugin configuration
- [WriterConfiguration] : Writer plugin configuration
- [CoreDumpServerSettingsFile] : File version data (for internal use only, not covered below).
For the purpose of this example we will show the sections of the script when the Core Dump Server has been configured use the Symbian ELF plugin and the File Writer plugin.
Most users will be interested in specifying the application that they are trying to debug. This is covered in section [ObservedConfiguration] below.
[ObservedConfiguration] Section
This section consists of pairs of executables, processes and threads to be observed by the Core Dump Server.
As an example, the parameter pair ( KeyType0=Z:\sys\bin\crashapp.exe KeyValue0=Z:\sys\bin\crashapp.exe ) specifies that the Core Dump Server will observe all processes created from the executable Z:\sys\bin\crashapp.exe.
The parameter pair ( KeyType0=Z:\sys\bin\crashapp.exe KeyValue0=crashapp.exe[102831e5]0001::Main ) specifies that the Core Dump Server will the thread named crashapp.exe[102831e5]0001::Main from executable Z:\sys\bin\crashapp.exe.
[CoreDumpServerConfiguration]Section
The [CoreDumpServerConfiguration] section configures the Core Dump Server. The UID parameter in this section is the Core Dump Server's UID=10282fe5. The section also has the following parameter triplets.
Crash Trigger
Parameter triplet ( KeyIndex0=0, KeyType0=1, KeyValue0=3 ) specifies the crash trigger for core dump creation. The GUI description for this parameter is:
"Select Crash Trigger:
1-HW Exception
2-Thread Kill
3-Both"
The default value is 3-Both, thus capturing Hardware Exceptions and Thread kill events.
Action on Crash Event
Parameter triplet ( KeyIndex1=1, KeyType1=1, KeyValue1=1 ) specifies the action to apply to the target on a crash event. The GUI description for this parameter is:
"Action On Crash:
0-None
1-Suspend Thread
2-Suspend Process"
The default value is 1-Suspend Thread, thus suspending the thread that caused the crash while the crash data is gathered.
Action After Crash Event
Parameter triplet ( KeyIndex2=2, KeyType2=1, KeyValue2=1 ) specifies the action to apply to the target after the crash. The GUI description for this parameter is:
"Action After Crash:
0-None
1-Resume Thread
2-Resume Process
4-Kill Process"
The default value is 1-Resume Thread, thus resuming the thread that caused the crash after the crash data is gathered.
[FormatterConfiguration] Section
The [FormatterConfiguration] section configures configures the formatter plugin. The UID parameter in this section is the Symbian ELF Formatter UID=10282fe3. The section also has the following parameter triplets.
System-wide Data
Parameter triplet ( KeyIndex0=0, KeyType0=1, KeyValue0=2 ) specifies the System-wide crash data option. The GUI description for this parameter is:
"System-Wide Crash Data Option:
0- System-Wide Data
1- Crashed Process Only
2- Both"
The default value is 2-Both, thus capturing system-wide and crashed process data.
Thread Data
Parameter triplet ( KeyIndex1=1, KeyType1=6, KeyValue1=1 ) specifies whether to collect information about all the threads in the failed process. The GUI description for this parameter is:
"Create Data for all Threads in Crashed Process?"
The default value is 1-True.
Data Segments
Parameter triplet ( KeyIndex2=2, KeyType2=6, KeyValue2=1 ) specifies whether to create data segments for the failed process. The GUI description for this parameter is:
"Create Data Segments?"
The default value is 1-True.
Code Segments
Parameter triplet ( KeyIndex3=3, KeyType3=6, KeyValue3=1 ) specifies whether to create code segments for the failed process. The GUI description for this parameter is:
"Create Code Segments?"
The default value is 1-True.
Thread Segments
Parameter triplet ( KeyIndex4=4, KeyType4=6, KeyValue4=1 ) specifies whether to create thread segments for the failed process. The GUI description for this parameter is:
"Create Thread Segments?"
The default value is 1-True.
Register Segments
Parameter triplet ( KeyIndex5=5, KeyType5=6, KeyValue5=1 ) specifies whether to create register segments for the failed process. The GUI description for this parameter is:
"Create Register Segments?"
The default value is 1-True.
Executable Information
Parameter triplet ( KeyIndex6=6, KeyType6=6, KeyValue6=1 ) specifies whether to create an executable information segment for the failed executable. The GUI description for this parameter is:
"Create Exec Info?"
The default value is 1-True.
Process Segment
Parameter triplet ( KeyIndex7=7, KeyType7=6, KeyValue7=1 ) specifies whether to create process segments. The GUI description for this parameter is:
"Create Process Info?"
The default value is 1-True.
[WriterConfiguration] Section
The [WriterConfiguration] section configures the writer plugin. The UID parameter in this section is the File Writer UID=102831e4. The section also has the following parameter triplet.
File Path
Parameter triplet ( KeyIndex0=0, KeyType0=3, KeyValue0=e:\test.core ) specifies the file path to use as the basis for each core dump file. The GUI description for this parameter is:
"Please supply Full Core Dump Filepath (eg "C:\coredump.core")
The default value is empty.