Interested Article - Отчёт об ошибке (программирование)
- 2021-05-21
- 1
В программировании отчёт об ошибке ( англ. error report или crash report ) — это файл, содержащий техническую информацию об исключительной ситуации (исключении), произошедшей в программе на компьютере пользователя. В терминологии программирования критическая ошибка, которая приводит к аварийному завершению программы («падению»), также называется крэшем или «крашем» (от англ. crash ).
Отчёты об ошибках часто включают в себя такую информацию, как: тип крэша, образ стека , версия программы, тип центрального процессора, версия операционной системы , а также лог программы.
Создание отчёта об ошибке
Отчёт об ошибке обычно создаётся специальной программой ( англ. crash reporter ). Целью такой программы является сбор данных о произошедшем крэше и отправка этих данных по сети Интернет некой третьей стороне, обычно этой третьей стороной является производитель программного обеспечения. Отчёт об ошибке призван помочь разработчикам программного обеспечения выяснить причину крэша и исправить её в последующих релизах программного продукта.
Mac OS X
В Mac OS X существует стандартная программа — сборщик отчётов об ошибке: /System/Library/CoreServices/Crash Reporter.app. Crash Reporter.app отправляет крэш-логи, стандартные для ОС Unix, в компанию Apple Computer, где эти логи анализируют их инженеры. В верхнем поле окна отчёта об ошибке содержится крэш лог, а в нижнем пользователь может ввести свои комментарии, например, рассказать что он делал в момент, когда произошёл крэш. Пользователи также могут скопировать лог и отправить его разработчику ПО для анализа. Crash Reporter.app работает в трёх основных режимах в случае ошибки: ничего не делать, вывести сообщение «Application has crashed» или вывести окно отчёта об ошибке.
Windows
Microsoft Windows XP включает в себя службу отправки отчётов об ошибке, называемую Windows Error Reporting (не путать с Dr. Watson ), которая позволяет отправить отчёт об ошибке в компанию Microsoft для онлайн-анализа. Информация отправляется в централизованную базу данных , управляемую Microsoft. Отчёт содержит необходимую информацию, которая позволяет разработчику диагностировать причину ошибки и исправить её.
Windows вероятно имеет наиболее сложную систему анализа ошибок на сегодняшний день, в которой централизованная база данных может быть настроена для сбора дополнительной информации от пользователей, испытывающих определённый тип проблемы. Система охватывает все части процесса отладки и выпуска ПО таким образом, что исправления могут быть применены к ПО на компьютере пользователя автоматически через службу Windows Update .
GNOME
На платформе GNOME для сбора и отправки отчётов об ошибке используется утилита Bug Buddy. Когда приложение, использующее библиотеки GNOME аварийно завершается, Bug Buddy генерирует снимок стека, используя отладчик gdb и предлагает пользователю отправить отчёт в систему GNOME bugzilla. Пользователь может добавить свой комментарий и посмотреть, что содержится в отчёте.
KDE
Утилита для отправки отчётов об ошибках в KDE называется Dr. Konqi.
Mozilla
Talkback
(также известный как Quality Feedback Agent ) являлся утилитой для отправки сообщений об ошибках в программном обеспечении Mozilla вплоть до версии 1.8.1 для отправки отчётов об ошибках на централизованный сервер. Talkback является проприетарным ПО, на которое Mozilla Corporation получила лицензию у компании SupportSoft. Когда продукты Mozilla (например Mozilla Firefox , Mozilla Thunderbird ) аварийно завершали свою работу, агент Talkback предлагал пользователю ввести описание ошибки. Talkback не заменит собой встроенной в операционную систему программы для отправки отчётов об ошибке, которая, запускается наряду с агентом Talkback. Talkback был заменён на программу Breakpad в браузере Firefox начиная с версии 3.
Breakpad
3 февраля 2012 года. (ранее также известный как Airbag) — это замена Talkback. Он является ПО с открытым исходным кодом. Breakpad разрабатывается совместно Google и Mozilla, и используется в текущих продуктах, основанных на движке Mozilla, таких как Firefox или Thunderbird. Этот продукт имеет большое значение, так как это первая мультиплатформенная утилита с открытым исходным кодом, предназначенная для отправки отчётов об ошибках.
Начиная с 27 мая 2007, Breakpad включён в стволовые сборки (trunk builds) Firefox 3 для Windows NT и Mac OS X, а также, несколько недель спустя, в Linux.
Ubuntu
Вместе с релизом Ubuntu 6.10, Ubuntu включает утилиту Apport .
Apport перехватывает процессы, в которых произошло исключение и которые готовы создать дамп ядра (core dump), и записывает отчёты об ошибках в определённое место. Затем специальный демон, предлагает пользователю отправить отчёты в Ubuntu для их анализа.
World of Warcraft
World of Warcraft — игра, использующая своё собственное средство доставки отчётов об ошибке, называемое «Error Reporter». Однако данная утилита не всегда перехватывает исключения; иногда вместо него вызывается стандартная утилита-крэш репортёр, встроенная в ОС. Известно, что Error Reporter иногда сам завершается аварийно в процессе отправки отчёта об ошибке.
CrashRpt
Ещё одной библиотекой для доставки отчётов об ошибке в операционной системе Windows является CrashRpt . Библиотека CrashRpt позволяет отлавливать исключения в программах, созданных в Microsoft Visual C++ и работающих в Windows . Библиотека распространяется по «новой» лицензии BSD .
CrashRpt перехватывает необработанные исключения, создаёт файл-минидамп, строит описатель ошибки в формате XML , предоставляет интерфейс с пользователем, и, наконец, сжимает отчёт и отправляет его группе поддержки приложения.
См. также
Примечания
- . Дата обращения: 21 сентября 2006. 5 апреля 2012 года.
- от 28 июня 2008 на Wayback Machine . BSBlog (Mozilla developer Benjamin Smedberg’s weblog).
- от 15 июня 2008 на Wayback Machine . BSBlog (Mozilla developer Benjamin Smedberg’s weblog).
- от 27 июля 2020 на Wayback Machine , mozilla.org bug tracker]
- . Дата обращения: 14 февраля 2007. Архивировано из 13 июня 2007 года.
- . Ubuntu Wiki . Дата обращения: 14 февраля 2007. 11 мая 2015 года.
- . Дата обращения: 20 августа 2009. 3 февраля 2012 года.
- . Дата обращения: 5 июля 2010. 5 апреля 2012 года.
- 2021-05-21
- 1