Reporter katastrofy

KDE Crash Handler (znany również jako Dr. Konqi), raport o awariach dla środowiska graficznego KDE

Reporter o awariach to zwykle oprogramowanie systemowe , którego funkcją jest identyfikacja szczegółów zgłaszania awarii i ostrzeganie o awariach w środowisku produkcyjnym lub programistycznym / testowym. Raporty o awariach często zawierają dane, takie jak ślady stosu , typ awarii, trendy i wersja oprogramowania. Raporty te pomagają twórcom oprogramowania — sieci Web, SAAS, aplikacji mobilnych i nie tylko — zdiagnozować i naprawić podstawowy problem powodujący awarie. Raporty o awariach mogą zawierać poufne informacje, takie jak hasła, adresy e-mail i informacje kontaktowe, dlatego stały się przedmiotem zainteresowania badaczy zajmujących się bezpieczeństwem komputerowym.

Wdrażanie narzędzi do zgłaszania awarii w ramach cyklu rozwojowego stało się standardem, a narzędzia do zgłaszania awarii stały się towarem, wiele z nich jest oferowanych za darmo, jak np. Crashlytics .

Do gry weszło wielu gigantycznych graczy z branży, którzy są częścią ekosystemu tworzenia oprogramowania. Firmy takie jak Twitter, Google i inne wkładają wiele wysiłku w zachęcanie twórców oprogramowania do korzystania z ich interfejsów API, wiedząc, że w przyszłości zwiększy to ich przychody (poprzez reklamy i inne mechanizmy). Zdając sobie sprawę, że muszą oferować eleganckie rozwiązania dla jak największej liczby problemów rozwojowych, w przeciwnym razie ich konkurenci podejmą działania, ciągle dodają zaawansowane funkcje. Narzędzia do zgłaszania awarii stanowią ważną funkcję programistyczną, którą gigantyczne firmy włączają do swojego portfolio rozwiązań.

Wiele narzędzi do zgłaszania awarii specjalizuje się w aplikacjach mobilnych. Wiele z nich to SDK .

System operacyjny Mac

W systemie macOS dostępny jest standardowy raport o awariach w /System/Library/CoreServices/Crash Reporter.app . Crash Reporter.app wysyła systemu Unix do Apple , aby ich inżynierowie mogli się z nimi zapoznać. Górne pole tekstowe okna zawiera dziennik awarii, natomiast dolne pole przeznaczone jest na komentarze użytkowników. Użytkownicy mogą również kopiować i wklejać dziennik w swoim kliencie poczty e-mail, aby wysłać go do dostawcy aplikacji w celu użycia. okno dialogowe „Aplikacja uległa awarii” lub wyświetla okno Raport o awarii.

Okna

System Microsoft Windows zawiera usługę zgłaszania awarii o nazwie Raportowanie błędów systemu Windows , która monituje użytkowników o wysyłanie raportów o awariach do firmy Microsoft w celu analizy online. Informacje trafiają do centralnej bazy danych prowadzonej przez firmę Microsoft. Składa się z informacji diagnostycznych, które pomagają firmie lub zespołowi deweloperskiemu odpowiedzialnemu za awarię debugować i rozwiązać problem, jeśli zdecydują się to zrobić. Raporty o awariach oprogramowania innych firm są dostępne dla programistów innych firm, którym Microsoft udzielił dostępu.

System bierze pod uwagę wszystkie części procesu debugowania i wydawania, tak aby ukierunkowane poprawki błędów można było zastosować za pośrednictwem usługi Windows Update . Innymi słowy, tylko osobom, które doświadczyły określonego typu awarii, można zaoferować naprawę błędu, ograniczając w ten sposób narażenie na problem.

Według Der Spiegel , narzędzie do zgłaszania awarii Microsoftu zostało wykorzystane przez jednostkę Tailored Access Operations (TAO) NSA do włamania się do komputerów meksykańskiego Sekretariatu Bezpieczeństwa Publicznego . Według tego samego źródła raporty o awariach Microsoftu są automatycznie gromadzone w bazie danych XKeyscore NSA , aby ułatwić takie operacje.

CrashRpt

Inną biblioteką raportowania błędów dla systemu Windows jest CrashRpt. Biblioteka CrashRpt to lekka typu open source dla aplikacji utworzonych w Microsoft Visual C++ i działających w systemie Windows . Biblioteka jest rozpowszechniana na nowej licencji BSD .

CrashRpt przechwytuje nieobsługiwane wyjątki , tworzy plik minizrzutu awarii, buduje deskryptor awarii w formacie XML , przedstawia interfejs umożliwiający użytkownikowi przeglądanie raportu awarii, a na koniec kompresuje i wysyła raport awarii do zespołu wsparcia oprogramowania.

CrashRpt zapewnia również narzędzie wiersza poleceń po stronie serwera do analizy raportów o awariach o nazwie crprober. Narzędzie jest w stanie odczytać wszystkie otrzymane raporty o awariach z katalogu i wygenerować plik podsumowania w formacie tekstowym dla każdego raportu o awariach. Grupuje również podobne raporty o awariach, co ułatwia określenie najpopularniejszych problemów. Narzędzie crprober nie zapewnia żadnego interfejsu graficznego, więc jest raczej tajemnicze i trudne w użyciu.

Istnieje również oprogramowanie serwerowe o otwartym kodzie źródłowym o nazwie CrashFix Server, które może przechowywać, organizować i analizować raporty o awariach wysyłane przez bibliotekę CrashRpt. Może grupować podobne raporty o awariach, ma wbudowane narzędzie do śledzenia błędów i może generować raporty statystyczne. Serwer CrashFix zapewnia internetowy interfejs użytkownika, który umożliwia współpracę kilku członków projektu (przesyłanie symboli debugowania, przeglądanie raportów o awariach i kojarzenie błędów z raportami o awariach).

Linuks

ABRT

ABRT w Fedorze 31 (2019-10)

ABRT (Automated Bug Reporting Tool) to narzędzie do raportowania błędów stworzone dla Fedory i Red Hat Enterprise Linux . Twórcy nie mają obecnie planów przeniesienia go na inne dystrybucje Linuksa. ABRT przechwytuje zrzuty rdzenia lub ślady wsteczne z aplikacji i (po potwierdzeniu przez użytkownika) wysyła raporty o błędach do różnych systemów śledzenia błędów, takich jak Fedora Bugzilla [1] .

Narzędzie do śledzenia błędów Ubuntu

Ubuntu udostępnia publiczne narzędzie do śledzenia błędów na stronie error.ubuntu.com , które codziennie zbiera setki tysięcy raportów o błędach z milionów maszyn. Jeśli program ulegnie awarii w systemie Ubuntu, program obsługi awarii (taki jak Apport) powiadomi użytkownika i zaoferuje zgłoszenie awarii. Jeśli użytkownik zdecyduje się zgłosić awarię, szczegóły (prawdopodobnie łącznie z zrzutem pamięci) zostaną przesłane na serwer Ubuntu ( daisy.ubuntu.com ) w celu analizy. Zrzut pamięci jest automatycznie przetwarzany w celu utworzenia śladu stosu i sygnatury awarii. Sygnatura awarii służy do klasyfikowania kolejnych raportów o awariach spowodowanych tym samym błędem.

GNOM

Przyjaciel błędów w GNOME 2.16

Bug Buddy to narzędzie do zgłaszania awarii używane przez platformę GNOME . Gdy aplikacja korzystająca z bibliotek GNOME ulegnie awarii, Bug Buddy generuje ślad stosu za pomocą gdb i zaprasza użytkownika do przesłania raportu do bugzilli GNOME . Użytkownik może dodawać komentarze i przeglądać szczegóły raportu o awarii.

KDE

Narzędzie do zgłaszania awarii używane przez KDE nazywa się Dr. Konqi . Gdy aplikacja korzystająca z bibliotek KDE ulegnie awarii, dr Konqi generuje ślad wsteczny za pomocą gdb i zaprasza użytkownika do przesłania raportu do bugzilli KDE. Użytkownik może dodawać komentarze i przeglądać szczegóły raportu o awarii.

Mozilla

Rozmowa

Talkback (znany również jako Quality Feedback Agent ) był narzędziem do zgłaszania awarii używanym przez oprogramowanie Mozilla do wersji 1.8.1 do zgłaszania awarii jej produktów na scentralizowany serwer w celu agregacji lub analizy poszczególnych przypadków. Talkback jest zastrzeżonym oprogramowaniem licencjonowanym przez firmę SupportSoft dla Mozilla Corporation . Jeśli produkt Mozilla (np. Mozilla Firefox , Mozilla Thunderbird ) ulegnie awarii z włączoną funkcją Talkback, pojawi się agent Talkback, proszący użytkownika o podanie opcjonalnych informacji dotyczących awarii. Talkback nie zastępuje natywnego raportu o awariach systemu operacyjnego, który, jeśli jest włączony, pojawi się wraz z agentem Talkback. Talkback został zastąpiony przez Breakpad w Firefoksie od wersji 3 .

podkładka

Mozilla Crash Reporter na Debianie z Xfce4

Breakpad (wcześniej nazywany Airbag ) to zamiennik Talkback typu open source. Opracowany przez Google i Mozillę, jest używany w obecnych produktach Mozilli, takich jak Firefox i Thunderbird. Jego znaczenie polega na tym, że jest to pierwszy wieloplatformowy system zgłaszania awarii typu open source.

Od 2007 roku Breakpad jest dołączony do przeglądarki Firefox w systemach Windows i Mac OS X oraz Linux. Breakpad jest zwykle sparowany z Socorro, który odbiera i klasyfikuje awarie od użytkowników.

Breakpad sam w sobie jest tylko częścią systemu zgłaszania awarii, ponieważ nie zawiera żadnego mechanizmu zgłaszania.

Crashpad

Crashpad to narzędzie do zgłaszania awarii typu open source używane przez Google w Chromium . Został opracowany jako zamiennik Breakpad z powodu aktualizacji systemu macOS 10.10, która usunęła interfejsy API używane przez Breakpad . Crashpad obecnie składa się z klienta zgłaszającego awarie i niektórych powiązanych narzędzi dla systemów macOS i Windows i jest uważany za zasadniczo kompletny dla tych platform. Crashpad stał się klientem zgłaszającym awarie dla Chromium w systemie macOS od marca 2015 r., A w systemie Windows od listopada 2015 r.

Świat Warcrafta

World of Warcraft to kolejny program wykorzystujący własny raport o awariach, „Error Reporter”. Narzędzie do zgłaszania błędów może nie wykrywać awarii przez cały czas; czasami zamiast tego wywoływany jest raport o awarii systemu operacyjnego. Error Reporter był nawet znany z awarii podczas zgłaszania błędów.

Mobilne systemy operacyjne

Android i iOS mają również wbudowaną funkcję raportowania awarii.

Linki zewnętrzne