Обнаружение сбоев
Узнайте, как настроить отчёты о сбоях через Sentry в S2-Launcher для захвата дампов, логов и трассировок вызовов плагинов.
S2-Launcher поставляется со встроенной интеграцией Sentry для обнаружения и отправки отчётов о сбоях. При включении система автоматически отправляет дампы сбоев в ваш бэкенд Sentry вместе с логами и полным стеком вызовов плагинов, записанным в виде хлебных крошек. По умолчанию Sentry отключён и требует явного включения через редактирование файла конфигурации sentry.jsonc.
Конфигурация
Файл sentry.jsonc расположен рядом с исполняемым файлом crashpad-handler:
- Windows:
bin/win64/sentry.jsonc - Linux:
bin/linuxsteamrt64/sentry.jsonc
Откройте файл и внесите следующие изменения для включения отчётов о сбоях.
Включение Sentry
Установите "enabled" в значение true:
Укажите ваш DSN
Замените заглушку DSN на DSN вашего проекта с sentry.io. Его можно найти в разделе Project Settings → Client Keys (DSN):
Что попадает в отчёт
После включения Sentry будет захватывать следующее при каждом сбое:
- Дампы сбоев: Полные файлы minidump, отправляемые в ваш проект Sentry и доступные в панели Issues.
- Логи: Логи сессий из пути, указанного в
logs_path. - Хлебные крошки вызовов плагинов: Стек вызовов функций плагинов, предшествующих сбою, записанный в виде хлебных крошек Sentry. Это позволяет легко отследить, какой плагин вызвал ошибку.
Полный справочник конфигурации
Ниже приведён полный файл sentry.jsonc со всеми доступными параметрами. Обязательные поля указаны вверху; расширенные параметры закомментированы и могут быть раскомментированы при необходимости.
Описание ключевых параметров
| Параметр | По умолчанию | Описание |
|---|---|---|
enabled | false | Главный переключатель. Должен быть true для отправки отчётов. |
dsn | (заглушка) | DSN вашего проекта Sentry. Обязателен для отправки событий. |
database_path | (относительно игры) | Место хранения дампов сбоев локально перед загрузкой. |
logs_path | (относительно игры) | Файлы логов сессий, прикрепляемые к отчётам о сбоях. |
sample_rate | 1.0 | Доля отправляемых событий (1.0 = 100%). Уменьшите для снижения объёма. |
symbolize_stacktraces | true | Преобразует сырые адреса в имена функций в стеке вызовов. |
auto_session_tracking | true | Отслеживает состояние сессий (сбой или нормальное завершение) в Sentry. |
debug | false | Включает подробный вывод Sentry SDK для отладки. |
logs_with_breadcrumbs | false | Включает вывод стека вызовов плагинов в хлебные крошки. |
Устранение неполадок
- Сбои не появляются в Sentry:
- Убедитесь, что в
sentry.jsoncустановлено"enabled": true. - Проверьте правильность DSN и существование проекта на sentry.io.
- Убедитесь, что
crashpad_handler.exe(Windows) илиcrashpad_handler(Linux) находится в той же директории, что и лаунчер.
- Убедитесь, что в
- Отсутствуют хлебные крошки:
- Вызовы плагинов записываются только если менеджер плагинов был загружен до сбоя. Убедитесь, что Plugify успешно инициализировался (выполните
plg --versionв консоли).
- Вызовы плагинов записываются только если менеджер плагинов был загружен до сбоя. Убедитесь, что Plugify успешно инициализировался (выполните
- Дампы сбоев не записываются локально:
- Убедитесь, что процесс имеет права на запись в директорию
database_path. - Директория создаётся автоматически, но родительский путь должен существовать.
- Убедитесь, что процесс имеет права на запись в директорию