BSOD, czyli jak diagnozować Blue Screen Of Death

Autor wpisu
michal-avatar-dreamiteamMichał Ruta
Czas potrzebny na przeczytanie
7 minut

W przypadku częstego występowania niebieskiego ekranu śmierci (Blue Screen Of Death)  należy zdiagnozować problem.

W tym celu ściągamy darmowe narzędzia ze strony Microsoftu.

Debugging Tools for Windows

Istnieją dwie osobne wersje dla systemów x86 i x64.

  • Po wybraniu odpowiedniej wersji możemy zapoznać się z instrukcję instalacji.
  • Aby zainstalować odpowiednią wersję należy „zajrzeć” do wnętrza ściągniętego pliku ISO i skopiować z jego wnętrza katalog Debuggers.
  • Zaglądać do ISO można wykorzystując na przykład program Total Commander z wtyczką do oglądania ISO.
  • Możemy oczywiście zamontować plik ISO za pomocą odpowiednich narzędzi, typu Deamon Tools i wtedy przegrać odpowiednie pliki.
  • Ze skopiowanego katalogu uruchamiamy odpowiednią wersję programu (x86 lub x64).

Ekran programu po uruchomieniu powinien wyglądać następująco:

Analiza minidump dla Windows - Debugging Tools
Aby program potrafił poprawnie analizować pliki minidump należy jeszcze dodać do jego konfiguracji obsługę symboli.

W tym celu klikamy File -> Symbol File Path i wpisujemy uważnie poniższą regułkę:

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

Po tym możemy przystąpić do analizy plików minidump. W tym celu otwieramy File -> Open Crash Dump i wyszukujemy plik minidump.

Po jego otwarciu czekamy chwilę i obserwujemy wynik analizy, która powinna wyglądać podobnie do tej poniżej:

Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [D:\!_SUPPORT\WDK\Minidump\Mini041010-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows XP Kernel Version 2600 (Service Pack 3) MP (2 procs) Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp3_gdr.091208-2036
Machine Name:
Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
Debug session time: Sat Apr 10 14:23:00.296 2010 (UTC + 2:00)
System Uptime: 0 days 6:23:32.982
Loading Kernel Symbols
………………………………………………….
………………………………………………….
Loading User Symbols
Loading unloaded module list
……………….
*********************************
*
* Bugcheck Analysis
*
*********************************
Use !analyze -v to get detailed debugging information.
BugCheck 100000C5, {1c, 2, 1, 8054b10d}
Probably caused by : Pool_Corruption ( nt!ExDeferredFreePool+107 )
Followup: Pool_corruption
———

Na czerwono zaznaczono najważniejszą rzecz w analizie, czyli prawdopodobną przyczynę problemu.

Dokładniejszą analizę możemy przeprowadzić wpisując: !analyze -v