stringtranslate.com

Репортер аварий

KDE Crash Handler (также известный как Dr. Konqi), средство оповещения о сбоях в среде рабочего стола KDE

Отчет о сбоях обычно представляет собой системное программное обеспечение , функция которого заключается в идентификации деталей отчета о сбоях и оповещениях при сбоях в производственных или в средах разработки/тестирования. Отчеты о сбоях часто включают такие данные, как трассировки стека , тип сбоя, тенденции и версию программного обеспечения. Эти отчеты помогают разработчикам программного обеспечения — веб-приложений, SAAS, мобильных приложений и т. д. — диагностировать и устранять основную проблему, вызывающую сбои. Отчеты о сбоях могут содержать конфиденциальную информацию, такую ​​как пароли, адреса электронной почты и контактную информацию, и поэтому стали объектами интереса для исследователей в области компьютерной безопасности. [1]

Внедрение инструментов для создания отчетов о сбоях в цикл разработки стало стандартом, а инструменты для создания отчетов о сбоях стали общедоступными, многие из них предлагаются бесплатно, например, Crashlytics .

Многие гиганты отрасли, которые являются частью экосистемы разработки программного обеспечения, вошли в игру. Такие компании, как Twitter, Google и другие, прилагают много усилий, чтобы побудить разработчиков программного обеспечения использовать их API, зная, что это увеличит их доходы в будущем (через рекламу и другие механизмы). Поскольку они понимают, что они должны предлагать элегантные решения для как можно большего числа проблем разработки, в противном случае их конкуренты предпримут действия, они продолжают добавлять расширенные функции. Инструменты отчетов о сбоях являются важной функциональностью разработки, которую гигантские компании включают в свой портфель решений.

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

macOS

В macOS есть стандартный отчет о сбоях в /System/Library/CoreServices/Crash Reporter.app . Crash Reporter.app отправляет журналы сбоев Unix в Apple для их инженеров . Верхнее текстовое поле окна содержит журнал сбоев, а нижнее поле предназначено для комментариев пользователей. Пользователи также могут скопировать и вставить журнал в свой почтовый клиент, чтобы отправить поставщику приложения для использования. Crash Reporter.app имеет 3 основных режима: ничего не отображать при сбое, отображать диалоговое окно «Приложение аварийно завершилось» или отображать окно отчета о сбоях.

Окна

Microsoft Windows включает в себя службу отчетов о сбоях, называемую Windows Error Reporting , которая предлагает пользователям отправлять отчеты о сбоях в Microsoft для онлайн-анализа. [2] Информация поступает в центральную базу данных, которой управляет Microsoft. Она состоит из диагностической информации, которая помогает компании или команде разработчиков, ответственной за сбой, отладить и решить проблему, если они захотят это сделать. Отчеты о сбоях для стороннего программного обеспечения доступны сторонним разработчикам, которым Microsoft предоставила доступ.

Система учитывает все части процесса отладки и выпуска, так что целевые исправления ошибок могут быть применены через Центр обновления Windows . Другими словами, исправление ошибки может быть предложено только тем, кто сталкивается с определенным типом сбоя, тем самым ограничивая подверженность проблеме.

По данным Der Spiegel , Microsoft crash reporter был использован подразделением Tailored Access Operations (TAO) АНБ для взлома компьютеров Секретариата общественной безопасности Мексики . Согласно тому же источнику, отчеты о сбоях Microsoft автоматически собираются в базе данных XKeyscore АНБ для упрощения таких операций. [3]

CrashRpt

Другая библиотека отчетов об ошибках для Windows — CrashRpt. Библиотека CrashRpt — это легковесная среда обработки ошибок с открытым исходным кодом для приложений, созданных в Microsoft Visual C++ и работающих под Windows . Библиотека распространяется по лицензии New BSD License .

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

CrashRpt также предоставляет серверный инструмент командной строки для анализа отчетов о сбоях под названием crprober. Инструмент способен считывать все полученные отчеты о сбоях из каталога и генерировать файл сводки в текстовом формате для каждого отчета о сбоях. Он также группирует похожие отчеты о сбоях, что упрощает определение наиболее популярных проблем. Инструмент crprober не предоставляет никакого графического интерфейса, поэтому он довольно загадочен и сложен в использовании.

Также существует программное обеспечение сервера с открытым исходным кодом под названием CrashFix Server, которое может хранить, организовывать и анализировать отчеты о сбоях, отправленные библиотекой CrashRpt. Оно может группировать похожие отчеты о сбоях, имеет встроенный трекер ошибок и может генерировать статистические отчеты. Сервер CrashFix предоставляет веб-интерфейс пользователя, позволяющий нескольким членам проекта сотрудничать (загружать отладочные символы, просматривать отчеты о сбоях и связывать ошибки с отчетами о сбоях).

линукс

АБРТ

ABRT на Fedora 31 (2019-10)

ABRT (Automated Bug Reporting Tool) — это инструмент для создания отчетов об ошибках, созданный для Fedora и Red Hat Enterprise Linux . В настоящее время разработчики не планируют портировать его на другие дистрибутивы Linux. [4] ABRT перехватывает дампы ядра или трассировки из приложений и (после подтверждения пользователя) отправляет отчеты об ошибках в различные системы отслеживания ошибок, такие как Fedora Bugzilla [1] .

Ubuntu Отслеживание ошибок

Ubuntu размещает общедоступный трекер ошибок на сайте errors.ubuntu.com , который ежедневно собирает сотни тысяч отчетов об ошибках с миллионов машин. [5] Если программа аварийно завершает работу в Ubuntu, обработчик аварий (например, Apport) [6] уведомит пользователя и предложит сообщить о сбое. Если пользователь решит сообщить о сбое, подробности (возможно, включая дамп ядра) будут загружены на сервер Ubuntu ( daisy.ubuntu.com ) для анализа. [7] Дамп ядра автоматически обрабатывается для создания трассировки стека и сигнатуры сбоя. Сигнатура сбоя используется для классификации последующих отчетов о сбоях, вызванных той же ошибкой.

ГНОМ

Bug Buddy в GNOME 2.16

Bug Buddy — это инструмент для сообщения о сбоях, используемый платформой GNOME . Когда приложение, использующее библиотеки GNOME, дает сбой, Bug Buddy генерирует трассировку стека с помощью gdb и предлагает пользователю отправить отчет в GNOME bugzilla . Пользователь может добавлять комментарии и просматривать подробности отчета о сбое.

КДЕ

Инструмент для сообщения о сбоях, используемый KDE, называется Dr. Konqi . Когда приложение, использующее библиотеки KDE, дает сбой, Dr. Konqi генерирует обратную трассировку с помощью gdb и предлагает пользователю отправить отчет в KDE bugzilla. Пользователь может добавлять комментарии и просматривать подробности отчета о сбоях.

Мозилла

Обратная связь

Talkback (также известный как Quality Feedback Agent ) был средством оповещения о сбоях, которое использовалось программным обеспечением Mozilla до версии 1.8.1 для сообщения о сбоях своих продуктов на централизованный сервер для агрегации или анализа каждого случая. [8] Talkback — это проприетарное программное обеспечение, лицензированное корпорацией Mozilla корпорацией SupportSoft . Если продукт Mozilla (например, Mozilla Firefox , Mozilla Thunderbird ) давал сбой при включенном Talkback, появлялся агент Talkback, предлагающий пользователю предоставить дополнительную информацию о сбое. Talkback не заменяет собственный репортер сбоев ОС, который, если включен, будет появляться вместе с агентом Talkback. Talkback был заменен на Breakpad в Firefox, начиная с версии 3 .

Брейкпад

Mozilla Crash Reporter на Debian с Xfce4

Breakpad (ранее называвшийся Airbag ) — это замена Talkback с открытым исходным кодом. Разработанный Google и Mozilla, он используется в текущих продуктах Mozilla, таких как Firefox и Thunderbird. [9] [10] Его значимость заключается в том, что он является первой многоплатформенной системой отчетов о сбоях с открытым исходным кодом.

С 2007 года Breakpad включен в Firefox для Windows, Mac OS X и Linux. [11] Breakpad обычно работает в паре с Socorro, который получает и классифицирует сбои от пользователей.

Breakpad сам по себе является лишь частью системы отчетов о сбоях, поскольку не включает в себя механизм отчетности.

Crashpad

Crashpad — это открытый исходный код для отправки отчетов о сбоях, используемый Google в Chromium . Он был разработан в качестве замены Breakpad из-за обновления в macOS 10.10 [12] , которое удалило API , используемые Breakpad . В настоящее время Crashpad состоит из клиента отправки отчетов о сбоях и некоторых связанных инструментов для macOS и Windows и считается в значительной степени завершенным для этих платформ. Crashpad стал клиентом отправки отчетов о сбоях для Chromium на macOS с марта 2015 года и на Windows с ноября 2015 года. [13]

Мобильные ОС

Операционные системы Android и iOS также имеют встроенную функцию сообщения о сбоях. [14] [15]

Ссылки

  1. ^ Сатват, Киаваш; Саксена, Нитеш (2018). «Крах конфиденциальности: вскрытие утекших отчетов о сбоях веб-браузера». arXiv : 1808.01718 [cs.CR].
  2. ^ Использование Microsoft Online Crash Analysis Архивировано 2007-01-02 на Wayback Machine
  3. ^ «АНБ использует мощный инструментарий для шпионажа за глобальными сетями». Der Spiegel . 29 декабря 2013 г.
  4. ^ «Будет ли ABRT когда-нибудь поддерживать не-RPM дистрибутивы? · Выпуск № 1606 · abrt/abrt». GitHub . 12 апреля 2022 г. . Получено 11 августа 2022 г. .
  5. ^ «Отслеживание ошибок Ubuntu».
  6. ^ Информация Ubuntu об Apport, программном обеспечении для обработки сбоев, разработанном Мартином Питтом в 2006–2010 гг., как описано в его докладе «Система обработки сбоев Apport: возвращаем веселье к ошибкам сегментации». Архивировано 2 октября 2016 г. на Wayback Machine
  7. ^ «Дизайн ErrorTracker».
  8. ^ "Mozilla Talkback server". Архивировано из оригинала 2012-07-19 . Получено 2006-09-21 .
  9. ^ Раскрытие подушки безопасности. BSBlog (блог разработчика Mozilla Бенджамина Смедберга).
  10. ^ Использование Breakpad с Gran Paradiso (1.9a3). BSBlog (веблог разработчика Mozilla Бенджамина Смедберга).
  11. ^ Ошибка 381099 — включить отчеты о сбоях по умолчанию (Win+Mac), трекер ошибок mozilla.org.
  12. ^ "Представляем Crashpad" . Получено 2017-08-01 .
  13. ^ "Crashpad Homepage" . Получено 2017-08-01 .
  14. ^ "Новый инструмент для создания отчетов о сбоях приложений Android уже запущен и работает". 22 мая 2010 г. Получено 04.06.2011 г.
  15. ^ "Техническое примечание TN2151" . Получено 2011-06-04 .

Внешние ссылки