Crasher
Description
The Crasher application allows you to create and send statistics about program crashes using the Tracer service. It can generate program crash using either standard signals, which are available in POSIX systems, or generate a bad alloc exception for example. The application uses the Tracer API to create crash dumps and send the data to the developer's personal account. At the moment, the application only collects statistics about abnormal program terminations.
Dependencies:
- tracer - provided as a built library that is installed with the application.
Build status:
Table of Contents
- Compatibility
- Branch info
- Install and launch
- Screenshots
- Project Structure
- Terms of Use and Participation in Development
Compatibility
The application works correctly starting with Aurora OS 5.1.5 and higher.
Branch info
Application versions conform to the branch naming convention.
Install and launch
Installation
The library libtracernative.so for the desired architecture is included with the application. As written earlier, it is shipped with the package at the path
/usr/share/en.auroraos.Crasher/lib
. It is also worth checking that the ru.auroraos.Crasher.desktop file has Internet permissions granted -
Permissions=Internet
.
Before installing the application, you need to make sure that you have access to the Tracer API. To do this, you need to create or log in to personal account of the developer. You must have access to the AuroraQA
organization. In case you are granted access, you can create a project, you can choose an arbitrary name.
Next, we will need two values that are in the project settings, they are appToken
and pluginToken
. They are necessary for proper configuration and operation of the Tracer
library.
For the symupload plugin to work, we need pluginToken
. Copy and change the define TRACER_PLUGIN_TOKEN
to
spec file. Also in the spec file, change the define TRACER_APP_TOKEN
by copying it from the appToken
field in the personal account.
Launch
When the application crashes, dumps will be created in the $HOME/.cache/en.auroraos/Crasher
path. Before sending a dump for proofreading, you must use the method
tracer_aurora_collect_minidump_from_cachedir
method, it copies the files needed for sending to $HOME/.local/share/en.auroraos/Crasher/tracer
. The Tracer
session files of this application will also be created there. Before sending the dump, you need to set some parameters:
- key -
tracer_set_key
method. - log message -
tracer_log
method (by default send dump). - version -
tracer_set_platform_info2
method.
The tracer_upload_crashes
method is used to send dump.
Screenshots
Project Structure
The project has an application structure based on C++ and QML for Aurora OS.
- 3rdparty the directory contains files and libraries to run Tracer.
- assets the directory contains additional files for the project.
- icons the directory contains application icons for supported screen resolutions.
-
qml the directory contains QML source code and user interface resources.
- assets the directory contains additional user interface icons.
- cover the directory contains implementations of application covers.
- pages directory contains the application pages.
- Crasher.qml the file provides the application window implementation.
-
rpm the directory contains the rpm package build settings.
- ru.auroraos.Crasher.spec the file is used by the rpmbuild tool.
- src the directory contains C++ source code.
- translations the directory contains the user interface translation files.
- CMakeLists.txt the file describes the project structure for the cmake build system.
- ru.auroraos.Crasher.desktop the file defines the display and startup options for the application.
Terms of Use and Participation in Development
The source code of the project is provided under license, which allows to use it in third-party applications.
The symupload
plugin is provided under license.
To participate in the development of the project, please read the member agreement. If you plan to submit your own source code for inclusion in the project, you will need to accept the CLA terms and conditions.
Participant information is listed in the AUTHORS file.
The Code of Conduct is the current set of rules of the Open Mobile Platform Company, which informs about the expectations for interaction between community members when communicating and working on projects.