Crasher
Описание приложения
Приложение Crasher позволяет создавать и отправлять статистику о падениях программы, используя сервис Tracer. В нем может сгенерировать краш программы используя либо стандартные сигналы, которые есть в POSIX-системах, либо создать исключение bad alloc например. Приложение использует API Tracer для создания дампов о падениях и отправке данных в личный кабинет разработчика. На данный момент приложение собирает только статистику о нештатных завершениях работы программы.
Зависимости:
- tracer - предоставляется в виде собранной библиотеки, которая устанавливается вместе с приложением.
Статус сборки:
Содержание
- Совместимость
- Информация о ветках
- Установка и запуск
- Скриншоты
- Структура проекта
- Правила использования и участие в разработке
Совместимость
Приложение корректно работает начиная с ОС Аврора 5.1.5 и выше.
Информация о ветках
Версии приложения соответствуют соглашению об наименовании веток.
Установка и запуск
Установка
К приложению прилагаются библиотека libtracernative.so для нужной архитектуры. Как писалось ранее, она поставляется вместе с пакетом по пути
/usr/share/ru.auroraos.Crasher/lib
. Также стоит проверить, что в файле ru.auroraos.Crasher.desktop выдано разрешение на использование интернета -
Permissions=Internet
.
Перед установкой приложения нужно убедиться, в том у вас есть доступ к API Tracer. Для этого нужно создать или зайти в личный кабинет разработчика. У вас должен быть доступ к организации AuroraQA
. В случае если вам предоставлен доступ, можно создать проект, имя можно выбрать произвольное.
Далее нам потребуется два значения, которые есть в настройках проекта - это appToken
и pluginToken
. Они необходимы для правильной настройки и работы библиотеки Tracer
.
Для работы плагина symupload нам потребуется pluginToken
. Скопируйте и измените define TRACER_PLUGIN_TOKEN
в
spec файле. Также в spec файле измените define TRACER_APP_TOKEN
, скопировав его из личного кабинета из поля appToken
.
Запуск
При падениях приложения, дампы будут создаваться по пути $HOME/.cache/ru.auroraos/Crasher
. Перед отправкой дампа для корректной работы необходимо использовать метод
tracer_aurora_collect_minidump_from_cachedir
, он копирует необходимые для отправки файлы в $HOME/.local/share/ru.auroraos/Crasher/tracer
. Там же будут созданы файлы сессии Tracer
этого приложения. Перед отправкой дампа нужно задать некоторые параметры:
- ключ - метод
tracer_set_key
. - сообщение лога - метод
tracer_log
(поумолчанию send dump). - версию - метод
tracer_set_platform_info2
.
Для отправки дампа используется метод tracer_upload_crashes
.
Скриншоты
Структура проекта
Проект имеет структуру приложения на базе C++ и QML для ОС Аврора.
- Каталог 3rdparty содержит файлы и библиотеки для работы Tracer.
- Каталог assets содержит дополнительные файлы для проекта.
- Каталог icons содержит иконки приложения для поддерживаемых разрешений экрана.
- Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
- Каталог assets содержит дополнительные иконки интерфейса пользователя.
- Каталог cover содержит реализации обложек приложения.
- Каталог pages содержит страницы приложения.
- Файл Crasher.qml предоставляет реализацию окна приложения.
- Каталог rpm содержит настройки сборки rpm-пакета.
- Файл ru.auroraos.Crasher.spec используется инструментом rpmbuild.
- Каталог src содержит исходный код на C++.
- Каталог translations содержит файлы перевода интерфейса пользователя.
- Файл CMakeLists.txt описывает структуру проекта для системы сборки cmake.
- Файл ru.auroraos.Crasher.desktop определяет отображение и параметры запуска приложения.
Правила использования и участие в разработке
Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.
Плагин symupload
предоставляется по лицензии.
Для участия в развитии проекта, пожалуйста, ознакомьтесь с соглашением участника. Если Вы планируете присылать свой исходный код для включения в состав проекта, Вам понадобится принять условия CLA.
Информация об участниках указана в файле AUTHORS.
Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.