Аварийный репортер
Средство сообщения о сбоях обычно представляет собой системное программное обеспечение том, чтобы идентифицировать детали сбоев , функция которого состоит в и предупреждать о сбоях в производственной среде или в средах разработки/тестирования. Отчеты о сбоях часто включают такие данные, как трассировки стека , тип сбоя, тенденции и версию программного обеспечения. Эти отчеты помогают разработчикам программного обеспечения — Интернета, 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» , которая предлагает пользователям отправлять отчеты о сбоях в Microsoft для онлайн-анализа. [2] Информация поступает в центральную базу данных Microsoft. Он состоит из диагностической информации, которая помогает компании или команде разработчиков, ответственной за сбой, отладить и устранить проблему, если они захотят это сделать. Отчеты о сбоях стороннего программного обеспечения доступны сторонним разработчикам, которым Microsoft предоставила доступ.
Система учитывает все этапы процесса отладки и выпуска, поэтому целевые исправления ошибок можно применять через Центр обновления Windows . Другими словами, исправление ошибки может быть предложено только людям, столкнувшимся с определенным типом сбоя, что ограничивает вероятность возникновения проблемы.
По данным Der Spiegel , репортер Microsoft был использован подразделением Tailored Access Operations (TAO) АНБ для взлома компьютеров Секретариата общественной безопасности Мексики . Согласно тому же источнику, отчеты Microsoft о сбоях автоматически собираются в базе данных XKeyscore АНБ , чтобы облегчить такие операции. [3]
КрашРпт
[ редактировать ]Еще одна библиотека отчетов об ошибках для Windows — CrashRpt. Библиотека CrashRpt — это легкая платформа обработки ошибок с открытым исходным кодом для приложений, созданных в Microsoft Visual C++ и работающих под Windows . Библиотека распространяется по новой лицензии BSD .
CrashRpt перехватывает необработанные исключения , создает файл минидампа сбоя, создает дескриптор сбоя в формате XML , предоставляет интерфейс, позволяющий пользователю просмотреть отчет о сбое, и, наконец, сжимает и отправляет отчет о сбое в группу поддержки программного обеспечения.
CrashRpt также предоставляет серверный инструмент командной строки для анализа отчетов о сбоях под названием crprober. Инструмент способен читать все полученные отчеты о сбоях из каталога и генерировать сводный файл в текстовом формате для каждого отчета о сбоях. Он также группирует похожие отчеты о сбоях, что упрощает определение наиболее популярных проблем. Инструмент crprober не имеет графического интерфейса, поэтому он довольно непонятен и сложен в использовании.
Существует также серверное программное обеспечение с открытым исходным кодом под названием CrashFix Server, которое может хранить, систематизировать и анализировать отчеты о сбоях, отправленные библиотекой CrashRpt. Он может группировать похожие отчеты о сбоях, имеет встроенный трекер ошибок и может генерировать статистические отчеты. Сервер CrashFix предоставляет пользовательский веб-интерфейс, позволяющий нескольким участникам проекта сотрудничать (загружать символы отладки, просматривать отчеты о сбоях и связывать ошибки с отчетами о сбоях).
Линукс
[ редактировать ]АБРТ
[ редактировать ]ABRT (инструмент автоматического сообщения об ошибках) — это инструмент сообщения об ошибках, созданный для Fedora и Red Hat Enterprise Linux . В настоящее время у разработчиков нет планов портировать его на другие дистрибутивы Linux. [4] ABRT перехватывает дампы ядра или обратные трассировки из приложений и (после подтверждения пользователя) отправляет отчеты об ошибках в различные системы отслеживания ошибок, такие как Fedora Bugzilla [1] .
Трекер ошибок Ubuntu
[ редактировать ]В Ubuntu имеется общедоступный трекер ошибок по адресу error.ubuntu.com , который ежедневно собирает сотни тысяч отчетов об ошибках с миллионов компьютеров. [5] Если программа выходит из строя в Ubuntu, обработчик сбоев (например, Apport) [6] уведомит пользователя и предложит сообщить о сбое. Если пользователь решит сообщить о сбое, подробности (возможно, включая дамп ядра) будут загружены на сервер Ubuntu ( daisy.ubuntu.com ) для анализа. [7] Дамп ядра автоматически обрабатывается для создания трассировки стека и сигнатуры сбоя. Сигнатура сбоя используется для классификации последующих отчетов о сбое, вызванных той же ошибкой.
ГНОМ
[ редактировать ]Bug Buddy — это инструмент отчетов о сбоях, используемый платформой GNOME . Когда приложение, использующее библиотеки GNOME, выходит из строя, Bug Buddy генерирует трассировку стека с помощью gdb и предлагает пользователю отправить отчет в GNOME bugzilla . Пользователь может добавлять комментарии и просматривать подробности отчета о сбое.
ГДЕ
[ редактировать ]Инструмент отчетов о сбоях, используемый KDE, называется Dr. Konqi . Когда приложение, использующее библиотеки KDE, выходит из строя, доктор Конки создает обратную трассировку с помощью gdb и предлагает пользователю отправить отчет в KDE bugzilla. Пользователь может добавлять комментарии и просматривать подробности отчета о сбое.
Мозилла
[ редактировать ]двусторонняя связь
[ редактировать ]Talkback (также известный как « Агент обратной связи по качеству ») был средством сообщения о сбоях, которое использовалось программным обеспечением Mozilla до версии 1.8.1 для сообщения о сбоях своих продуктов на централизованный сервер для агрегирования или индивидуального анализа. [8] Talkback — это проприетарное программное обеспечение , лицензия на которое предоставлена корпорации Mozilla компанией SupportSoft . Если продукт Mozilla (например, Mozilla Firefox , Mozilla Thunderbird ) выйдет из строя при включенной Talkback, появится агент Talkback, предлагающий пользователю предоставить дополнительную информацию о сбое. Talkback не заменяет встроенный отчет о сбоях ОС, который, если он включен, будет отображаться вместе с агентом Talkback. Talkback был заменен Breakpad в Firefox начиная с версии 3 .
Брейкпад
[ редактировать ]Breakpad (ранее называвшийся Airbag ) — это замена Talkback с открытым исходным кодом. Разработанный Google и Mozilla, он используется в текущих продуктах Mozilla, таких как Firefox и Thunderbird. [9] [10] Его значение заключается в том, что это первая многоплатформенная система отчетов о сбоях с открытым исходным кодом.
С 2007 года Breakpad включен в состав Firefox для Windows, Mac OS X и Linux. [11] Breakpad обычно работает в паре с Socorro , который получает и классифицирует сбои от пользователей.
Breakpad сам по себе является лишь частью системы отчетов о сбоях, поскольку не включает в себя никакого механизма отчетности.
Крашпад
[ редактировать ]Crashpad — это средство сообщения о сбоях с открытым исходным кодом, используемое Google в Chromium . Он был разработан как замена Breakpad в связи с обновлением macOS 10.10. [12] который удалил API , используемые Breakpad . В настоящее время Crashpad состоит из клиента отчетов о сбоях и некоторых связанных инструментов для macOS и Windows и считается практически завершенным для этих платформ. Crashpad стал клиентом отчета о сбоях для Chromium на macOS с марта 2015 года и на Windows с ноября 2015 года. [13]
Мобильные ОС
[ редактировать ]Операционные системы Android и iOS также имеют встроенную функцию отчетов о сбоях. [14] [15]
Ссылки
[ редактировать ]- ^ Сатват, Киаваш; Саксена, Нитеш (2018). «Нарушение конфиденциальности: вскрытие просочившихся отчетов о сбоях веб-браузера». arXiv : 1808.01718 [ cs.CR ].
- ^ Использование Microsoft Online Crash Analysis. Архивировано 2 января 2007 г. на Wayback Machine.
- ^ «АНБ использует мощный набор инструментов для шпионажа в глобальных сетях» . Дер Шпигель . 29 декабря 2013 г.
- ^ «Будет ли ABRT когда-либо поддерживать дистрибутивы, отличные от RPM? · Проблема № 1606 · abrt/abrt» . Гитхаб . 12 апреля 2022 г. Проверено 11 августа 2022 г.
- ^ «Отслеживание ошибок Ubuntu» .
- ↑ Информация об Ubuntu об Apport , программном обеспечении для обработки сбоев, разработанном Мартином Питтом в 2006–2010 годах , как описано в его докладе «Система обработки сбоев Apport: возвращение удовольствия к сегфолтам». Архивировано 2 октября 2016 г. на Wayback Machine.
- ^ «Дизайн ErrorTracker» .
- ^ «Сервер обратной связи Mozilla» . Архивировано из оригинала 19 июля 2012 г. Проверено 21 сентября 2006 г.
- ^ Раскрытие подушки безопасности . BSBlog (блог разработчика Mozilla Бенджамина Смедберга).
- ^ Использование Breakpad с Gran Paradiso (1.9a3) . BSBlog (блог разработчика Mozilla Бенджамина Смедберга).
- ^ Ошибка 381099 — включение отчетов о сбоях по умолчанию (Win+Mac) , трекер ошибок mozilla.org.
- ^ «Представляем Crashpad» . Проверено 1 августа 2017 г.
- ^ «Домашняя страница Crashpad» . Проверено 1 августа 2017 г.
- ^ «Новый инструмент для создания отчетов о сбоях приложений Android уже запущен и работает» . 22 мая 2010 года . Проверено 4 июня 2011 г.
- ^ «Техническая нота ТН2151» . Проверено 4 июня 2011 г.