V programování je chybová zpráva ( anglicky error report nebo crash report ) soubor obsahující technické informace o výjimečné situaci (výjimce), která se v programu na počítači uživatele vyskytla . V programátorské terminologii se kritická chyba, která vede ke zhroucení programu („Crash“), také nazývá havárie nebo „crash“ (z anglického crash ).
Zprávy o chybách často obsahují informace, jako je typ selhání, obrázek zásobníku , verze programu, typ procesoru, verze operačního systému a protokol programu.
Hlášení o pádu je obvykle vytvořeno speciálním programem (anglicky crash reporter). Účelem takového programu je shromažďovat data o havárii, ke které došlo, a odesílat tato data přes internet nějaké třetí straně, většinou je touto třetí stranou výrobce softwaru. Zpráva o chybě má pomoci vývojářům softwaru zjistit příčinu selhání a opravit ji v následujících verzích softwarového produktu.
V systému Mac OS X existuje standardní program – sběrač zpráv o selhání: /System/Library/CoreServices/Crash Reporter.app. Crash Reporter.app odesílá protokoly o selhání standardu Unix do počítače Apple, kde jsou protokoly analyzovány jejich inženýry. Horní pole okna hlášení o chybě obsahuje protokol o havárii a spodní pole umožňuje uživateli zadat komentáře, například sdělit, co dělal v době, kdy k havárii došlo. Uživatelé mohou také zkopírovat protokol a odeslat jej vývojáři softwaru k analýze. Crash Reporter.app funguje v případě chyby ve třech hlavních režimech: nedělat nic, zobrazit zprávu „Aplikace se zhroutila“ nebo zobrazit okno se zprávou o chybě.
Microsoft Windows XP obsahuje službu hlášení chyb s názvem Windows Error Reporting (nezaměňujte s Dr. Watsonem ), která vám umožňuje odeslat hlášení o chybě společnosti Microsoft pro online analýzu. Informace jsou odesílány do centralizované databáze spravované společností Microsoft. Zpráva obsahuje potřebné informace, které vývojáři umožňují diagnostikovat příčinu chyby a opravit ji.
Windows má pravděpodobně dosud nejpropracovanější systém analýzy chyb, ve kterém lze nakonfigurovat centralizovanou databázi tak, aby shromažďovala další informace od uživatelů, kteří mají určitý typ problému. Systém pokrývá všechny části procesu ladění a vydávání softwaru tak, aby opravy mohly být automaticky aplikovány na software v počítači uživatele prostřednictvím služby Windows Update .
Na platformě GNOME se ke shromažďování a odesílání hlášení o chybách používá nástroj Bug Buddy . Když dojde k selhání aplikace využívající knihovny GNOME, Bug Buddy vygeneruje snímek zásobníku pomocí ladicího programu gdb a vyzve uživatele, aby do systému GNOME odeslal zprávu o bugzille. Uživatel může přidat svůj komentář a podívat se, co zpráva obsahuje.
Nástroj pro odesílání hlášení o chybách do KDE se nazývá Dr. Konqi.
(také známý jako Quality Feedback Agent ) byl nástroj pro hlášení chyb v softwaru Mozilla až do verze 1.8.1 pro odesílání hlášení o chybách na centralizovaný server. [1] Talkback je proprietární software licencovaný společností Mozilla Corporation od společnosti SupportSoft. Když se zhroutily produkty Mozilla (např . Mozilla Firefox , Mozilla Thunderbird ), agent Talkback vyzval uživatele k zadání popisu chyby. Talkback nenahrazuje vestavěný program pro hlášení chyb, který běží spolu s agentem Talkback. Talkback byl v prohlížeči Firefox od verze 3 nahrazen programem Breakpad .
Archivováno z originálu 3. února 2012, Breakpad . (dříve známý také jako Airbag) je náhradou za Talkback. Jedná se o open source software. Breakpad je vyvíjen společně Googlem a Mozillou a používá se v současných produktech založených na enginu Mozilla, jako je Firefox nebo Thunderbird. [2] [3] Tento produkt je velmi důležitý, protože se jedná o první open source multiplatformní nástroj pro hlášení chyb.
Od 27. května 2007 byl Breakpad součástí kmenových sestavení Firefoxu 3 pro Windows NT a Mac OS X a o několik týdnů později pro Linux. [čtyři]
S vydáním Ubuntu 6.10 obsahuje Ubuntu nástroj Appport [5] .
Apport zachycuje procesy, které mají výjimku a chystají se vytvořit výpis jádra, a zapisuje chybová hlášení do konkrétního umístění. Poté speciální démon vyzve uživatele, aby poslal zprávy do Ubuntu k analýze. [6]
World of Warcraft je hra, která používá svůj vlastní nástroj pro doručování hlášení o chybách s názvem „Error Reporter“. Tento nástroj však ne vždy zachytí výjimky; někdy je místo toho volána standardní utilita pro hlášení havárií zabudovaná v operačním systému. Je známo, že Error Reporter se při odesílání hlášení o chybě někdy sám zhroutí.
Další knihovnou pro doručování chybových hlášení v operačním systému Windows je CrashRpt [7] [8] . Knihovna CrashRpt umožňuje zachytit výjimky v programech vytvořených v Microsoft Visual C++ a spuštěných na Windows . Knihovna je distribuována pod "novou" licencí BSD .
CrashRpt zachytí neošetřené výjimky, vygeneruje soubor minidump, vytvoří deskriptor chyb XML , poskytne uživatelské rozhraní a nakonec zprávu zkomprimuje a odešle týmu podpory aplikace.