Jak vyzrát na BSOD?

Už téměř každý z nás někdy narazil na BSOD (Blue Sceen of Death) nebo-li česky přezdívaný jako modrá smrt. Určitě většina z nás, když dostane BSOD, tak jsou pouze naštvaný a jediný co max. udělaji je, že bouchnou do stolu v horších připadech to mohou odnést i jiné věci. Většina lidi hned viní Windows, že je to jeho chyba. Bohužel si troufám říct, že v 95% je v tom Windows nevinně, ale způsobí to špatně napsaná aplikace, která se pokouší dělat něco co se jí asi nepodaří. např. poslední BSOD se mi stal když jsem alt-taboval mezi Age of Conan(2GB využivané paměti) do World of Warcraft(750MB používané paměti) a nějak se neuměla pamět soustředit na WoW a to způsobilo BSOD.

Jednou jsem s BSOD setkal na takové úrovni, že už jsem doopravdy nevěděl jak ho řešit(viz. minulý příspěvek - odstavec Miranda) a nalezl řešení, že se dají BSODy analyzovat. Na první pohled se to může zdát, že to bude asi těžké. Rozhodně bych to nedoporučival uplným začátečníkům, ale pokročilejší uživatelé s tím nebudou mít problém.

Co tedy budete potřebovat?

Jako první věc určite budete muset stáhnout a nainstalovat nějaký debugovací nástroj. Já osobně použil Debugging Tools for Windows od Microsoftu. Ná výběr máte buď 32bit verzi nebo 64bit verzi. Zvolte dle vašeho operačního systému. Stáhněte a nainstalujte.

V nabídce start hledejte program s jménem WinDbg ve složce Debugging Tools for Window. Pokud používate Windows Vista a máte zapnutý UAC, tak spusťte WinDbg pod administrátorem ač to nevyžaduje, tak je to potřeba, jelikož budete přistupovat do Windows adresáře.

Když program spustíte měli byste vidět něco následujíciho:

WinDbg AMD64 - po spuštení

První co musíte udělat je nastavit cestu k symbolům. Klikněte na File -> Symbol File Path ... (nebo klávesová zkratka CTRL + S) zde nastavte následujíci cestu - http://msdl.microsoft.com/download/symbols
Teď už vám nic nebrání vydat se na cestu analyzování.

Klikněte na File -> Open Crash Dump... (CTRL + D) a vydejte se do složky Windows a hledejte složku Minidump tu otevřte a vyberte soubor dle datumu, kdy se vám stal ten BSOD, který chcete analyzovat. Pokud je složka prázdná, tak gratuluji. Ještě jste neměli žádný BSOD nebo jste jí promazali.

Jakmile soubor otevřete začnou se načítat symboly a po chvilce můžete zadávat přikazy do přikazového řádku, kde stačí napsat !analyze -v.

Najednou se vám objeví detailní popis. Něco jako:

WinDbg AMD64 - analyzování BSODu

Tady můžete vidět, že proces co způsobil chybu je Wow.exe a máte možnost vidět více detailu. Potom už stačí vzít nějaké podstatné detaily a googlit dokud nenajdete řešení. V případě, že vidíte přimo proces, tak ho odinstalovat, což jsem udělal, když jsem měl problémy s Mirandou.

Tento příspěvek byl původně publikován na starém blogu, který fungoval na jiné doméně.

Tomáš Linhart

Tomáš Linhart

Principal iOS Engineer at Lesson Nine GmbH • Swift & iOS and Mac lover and enthusiast •  • A bit .NET, Android lover...

Read More