Hlášení chyby (programování)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 1. listopadu 2018; kontroly vyžadují 5 úprav .

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.

Vytvoření hlášení o chybě

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.

Mac OS X

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ě.

Windows

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 .

GNOME

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.

KDE

Nástroj pro odesílání hlášení o chybách do KDE se nazývá Dr. Konqi.

Mozilla

Talkback

(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 .

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]

Ubuntu

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

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í.

CrashRpt

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.

Viz také

Poznámky

  1. Server Mozilla Talkback . Získáno 21. září 2006. Archivováno z originálu 5. dubna 2012.
  2. Nasazení airbagu Archivováno 28. června 2008 na Wayback Machine . BSBlog (webový blog vývojáře Mozilly Benjamina Smedberga).
  3. Používání Breakpadu s Gran Paradiso (1.9a3) Archivováno 15. června 2008 na Wayback Machine . BSBlog (webový blog vývojáře Mozilly Benjamina Smedberga).
  4. Chyba 381099 – Ve výchozím nastavení zapnout hlášení o selhání (Win+Mac) Archivováno 27. července 2020 na Wayback Machine , mozilla.org bug tracker]
  5. EdgyReleaseNotes (downlink) . Získáno 14. února 2007. Archivováno z originálu 13. června 2007. 
  6. Appport . Ubuntu Wiki . Získáno 14. února 2007. Archivováno z originálu 11. května 2015.
  7. Stránka projektu CrashRpt . Datum přístupu: 20. srpna 2009. Archivováno z originálu 3. února 2012.
  8. Použití knihovny CrashRpt . Získáno 5. července 2010. Archivováno z originálu dne 5. dubna 2012.