Problémy s pády aplikací - jak analyzovat co způsobuje problém

Ondřej Výšek
3 minuty, 46 sekundy
1

Již od Windows XP je součástí Windows XP komponenta Windows Error Reporting (dále jen WER), kde informace o pádech aplikací jsou sdružovány do několika souborů a následně mohou být odeslány do společnosti Microsoft a pokud je v databázi Microsoftu nalezeno řešení (sporadicky), je toto řešení přes Action Center nabídnuto uživateli.

Další možností, především v rámci organizací je využití System Center Deskop Error Monitoring (SC DEM), což je nástroj založený na Sytem Center Operations Manager a po konfiguraci koncových počítačů jsou informace o pádech aplikací odesílány na centrální místo v organizaci. Následně je možné tyto informace zpracovat na jednom místě a reagovat dle potřeby na vzniklé chyby při pádech aplikací. Desktop Error Monitoring je možné získat společně s dalšími produkty v rámci balíčku Microsoft Deskop Optimization Pack - MDOP.

Ale jak analyzovat informace, které jsou vygenerovány při pádu aplikace? V rámci Windows XP byl ukládám automaticky memory dump, který obsahoval paměť, která se týkala aplikace a bylo možné analyzoat celý call stack. U Windows Vista a Windows 7 je situace poněkud odlišná. Tyto operační systémy generují pouze “výtah” informací a informace jsou ukládány do .wer souborů. Můžete použít Windows Search nebo jiné nástroje pro vyhledávání, abyste tyto soubory nalezli (neukládají se na jediné místo) nebo použít centrum akcí pro zobrazení všech problémů s pády aplikací.

Soubory .wer jsou obvykle ukládány do těchto umístění:

C:UsersAll UsersMicrosoftWindowsWER   
C:UsersAdministratorAppDataLocalMicrosoftWindowsWER    
C:Users\%username%AppDataLocalMicrosoftWindowsWER

Pro vývojáře: pokud potřebujete generovat crash dump po pádu aplikace, pak postup je popsaný v tomto postu msdn blogu.

Jak tedy na WER soubory, pokud jsem zkušený uživatel / administrátor a potřebuji zjistit příčinu problému, který způsobuje pád aplikace? Jak jsem zmínil výše, můžete použít nástroj zdarma - NirSoft AppCrashView. Tento nástroj je určený pouze pro Windows Vista a Windows 7 (viz rozdíly mezi Windows XP a Vista/7 výše).

Při použití tohoto nástroje zdarma získáváte hned několik výhod. Za prvé Windows Error Reporting nezobrazuje všechny informace a tyto informace se složitě vyhledávají v jednotlivých .wer souborech. AppCrash zobrazuje kompletní informace, kdežto Windows Error Reporting zobrazuje pouze relevantní informace, které však při řešení problémů nemusí být dostačující. Například Windows Error Reporting nezobrazuje všechny DLL, které byly nahrány v době pádu aplikace atd.

AppCrashView vyhledá všechny .wer soubory v počítači, tedy máte kompletní přehled na jednom místě. Další výhodou může být například zobrazení problémů v horní části aplikace a při zvolení konkrétního problému jsou detaily zobrazeny ve spodní části aplikace - není nutné se přepínat mezi různými aplikacemi.

AppCrashView je možné integrovat do Windows PE 3.0 a díky tomu tak zobrazit problémy s pádem aplikací offline, aniž by systém, kde k chybě došlo byl nastartovaný. Pokud tedy budete spouště AppCrashView offline, je nutné říci, kde má tento nástroj hledat logy o pádu aplikací:

appcrashview /ProfilesFolder c:Users /ProgramData c:ProgramData

V neposlední řadě AppCrashView umožňuje exportovat vybrané nebo všechny informace o pádu aplikací do HTML formátu. Pokud tedy zařídíte pomocí skriptu nebo jiným způsobem překopírování všech .wer souborů ze všech počítačů, je možné tyto informace centrálně zpracovat.

Pokud tedy chcete znát přesné informace, které jsou pomocí Windows Error Reporting odesílány společnosti Microsoft, můžete použít tento nástroj. tejně tak můžete tento nástroj použít pro hledání problémů s pádem aplikace. Můj osobní názor, nejčastější důvody aplikací/operačního systému jsou ovladače, či další aplikace, které nejsou korektně napsány. Pokud tedy hledáte problém, tento problém obvykle není v aplikaci jako takové, ale spíše hledejte problém v něčem, co daná aplikace využívá.

Autor: Ondřej Výšek

Ondřej je Microsoft MVP od roku 2004, v roce 2008 založil komunitní web optimalizovane-it.cz. Za svou IT karieru, jenž započala v roce 1993 prošel celou řadou pozic, od konzultanta, přes architekt, až po vytváření vizí a strategií zákazníků. V prostředích, ve kterých pomáhal byly desítky, ale i stovky tisíc uživatelů a systémů. V posledních letech se zabývá především cloudovými technologiemi Microsoft 365 a Azure ve společnosti KPCS CZ.

Následující článek Předchozí článek