Crasher

Crasher

RU | EN

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:

  1. example - pipeline status
  2. dev - pipeline status

Table of Contents

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

Main page Crash page Tracer page

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.
  • src the directory contains C++ source code.
    • crasher the directory contains the interface that allows the application to be dropped.
    • utils the directory contains helper classes and methods.
    • main.cpp the file is the entry point to the application.
  • 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.