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

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

📅 Publikováno:
✍️ Autor: Ondřej Výšek

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

About the Author

O autorovi

Ondřej Výšek

Ondřej Výšek

Technologický hračička a vizionář | Microsoft MVP | SoftwareOne

Ondřej Výšek je držitelem titulu Microsoft MVP již od roku 2004 a zakladatelem komunitního webu Optimalizovane-IT.cz, který od roku 2008 pomáhá IT profesionálům s best practices v oblasti Microsoft technologií. V IT působí od roku 1993 a během své kariéry prošel širokým spektrem rolí – od konzultanta a architekta až po strategického poradce pro digitální transformaci. Pomáhal organizacím všech velikostí, od menších podniků až po enterprise prostředí s desítkami až stovkami tisíc uživatelů. V posledních letech se zaměřuje na umělou inteligenci, cloudové technologie Microsoft 365 a Azure, přičemž v SoftwareOne pomáhá zákazníkům vytvářet efektivní IT strategie a využívat nejmodernější digitální nástroje k dosažení jejich cílů.

Sdílej v médiích

problemy-s-pady-aplikaci-jak-analyzovat-co-zpusobuje-problem