Сообщения об ошибках и сбоях на iOS

Материал из Документация Ключ-АСТРОМ

Сообщения об ошибках и сбоях

Мониторинг зависаний и сбоев приложений имеет решающее значение для обеспечения бесперебойной работы пользовательского интерфейса. Эти проблемы могут привести к удалению приложений, негативным отзывам и потере доверия пользователей. Проактивное выявление и устранение этих ошибок позволяет повысить стабильность приложения и сохранить вовлеченность пользователей.

Ключ-АСТРОМ предоставляет подробную информацию о событиях ANR и сбоях, включая трассировку стека, сведения о сеансах и информацию, специфичную для устройства, что позволяет быстро выявлять первопричины и внедрять исправления.

Обнаружение ANR

Ключ-АСТРОМ автоматически фиксирует ошибки «Приложение не отвечает» (ANR). Мониторинг ошибок ANR крайне важен, поскольку они вызывают недовольство пользователя. Основная проблема заключается в том, что основной поток приложения, отвечающий за обновление пользовательского интерфейса, не может обрабатывать события ввода пользователя или отрисовывать изображение, из-за чего приложение кажется зависшим.

На iOS ошибки ANR обнаруживаются, когда основной поток блокируется дольше, чем заданный интервал ожидания (по умолчанию: 2 секунды). Когда основной поток перестает отвечать, ЕдиныйАгент записывает трассировку стека в реальном времени, чтобы помочь определить первопричину зависания.

  • Сообщения об ошибках ANR поступают только в том случае, если приложение перезапускается после завершения работы из-за ошибки ANR.
  • Функция обнаружения ANR автоматически отключается при подключении отладчика во избежание ложных срабатываний в процессе разработки.

Что запечатлено

Для каждого события ANR SDK фиксирует:

  • Трассировку стека в реальном времени на момент зависания.
  • Отметку времени возникновения ANR.
  • Информацию о контексте сессии и устройства.

Эти данные можно анализировать в таких приложениях, как Инспектор ошибок, или запрашивать напрямую в Хранилище данных с помощью DQL. Справочную информацию по полю см. в разделе «Приложение не отвечает».

Отключить обнаружение ANR

По умолчанию обнаружение ANR включено. Чтобы отключить его, установите ключ конфигурации DTXANRReportingEnabled в значение false в файле вашего приложения Info.plist:

<key>DTXANRReportingEnabled</key>
<false/>

Настройка тайм-аута ANR

По умолчанию время ожидания для обнаружения ANR составляет 2 секунды. Вы можете изменить это значение с помощью ключа конфигурации DTXANRTimeout в вашем файле Info.plist. Значение указывается в секундах:

<key>DTXANRTimeout</key>
<integer>3</integer>

Ограничения

  • При подключении отладчика обнаружение ANR отключается во избежание ложных срабатываний во время разработки и отладки.

Сообщение о сбоях

Ключ-АСТРОМ автоматически фиксирует и сообщает о сбоях, происходящих в вашем iOS-приложении. Когда приложение аварийно завершает работу и перезапускается, ЕдиныйАгент отправляет отчет о сбое в Ключ-АСТРОМ, включая полную трассировку стека и контекст сессии.

  • Сообщения о сбоях отправляются только при перезапуске приложения после сбоя.
  • Функция обнаружения сбоев автоматически отключается при подключении отладчика во избежание помех в процессе разработки.

Что запечатлено

При каждом сбое SDK фиксирует следующее:

  • Название и причина исключения.
  • Название и номер сигнала.
  • Полный трассировочный стек сбоя.
  • Информацию о контексте сессии и устройства.
  • Отметку времени аварии.

Эти данные можно анализировать в таких приложениях, как Инспектор ошибок, или запрашивать напрямую в Хранилище данных с помощью DQL. Справочную информацию по полям см. в разделе «Сбои».

Отключить отчеты о сбоях

По умолчанию функция отправки отчетов об ошибках включена. Чтобы отключить ее, установите ключ конфигурации DTXCrashReportingEnabled в значение false в файле вашего приложения Info.plist:

<key>DTXCrashReportingEnabled</key>
<false/>

Ограничения

  • Отладчик подключен — обнаружение сбоев отключается при подключении отладчика. Это предотвращает вмешательство средства отслеживания сбоев в процесс отладки.
  • Внешние обработчики сбоев — Если другой инструмент для отправки отчетов о сбоях обрабатывает сбой до ЕдиногоАгента, информация о сбое может не быть отправлена в Ключ-АСТРОМ. Мы рекомендуем использовать только один инструмент для отправки отчетов о сбоях одновременно.
  • Символизация — Для получения удобочитаемых трассировок стека загрузите файлы dSYM вашего приложения в Ключ-АСТРОМ. Без символизации трассировки стека содержат адреса памяти вместо имен функций и номеров строк.

Мы не рекомендуем использовать одновременно несколько инструментов мониторинга с включенной функцией отслеживания сбоев. Это может привести к проблемам совместимости, некорректным отчетам и потере данных о сбоях.

Сводка по конфигурации

Ключ конфигурации По умолчанию Описание
DTXCrashReportingEnabled true Включает или отключает отправку отчетов о сбоях.
DTXANRReportingEnabled true Включает или отключает обнаружение ANR.
DTXANRTimeout 2 Время ожидания обнаружения ANR в секундах.

Символизация

Чтобы получить удобочитаемые трассировки стека в отчетах о сбоях и ANR, загрузите файлы dSYM (отладочные символы) вашего приложения в Ключ-АСТРОМ. Без файлов dSYM трассировки стека содержат адреса памяти вместо осмысленных имен функций и номеров строк.