BSOD – odczytywanie informacji o błędzie za pomocą pliku Minidump.
Niebieskie ekrany śmierci tzw. komunikaty BSOD występują w sytuacjach pojawienia się poważnych błędów systemu operacyjnego Windows, lub aplikacji. Przeciętnemu użytkownikowi komputera komunikat wyświetlony na niebieskim tle niczego nie mówi i zazwyczaj trzeba poprosić o pomoc bardziej doświadczonych kolegów. W tym poradniku pokażemy w jaki sposób zdiagnozować co jest przyczyną wystąpienia komunikatu z błędem BSOD i w jaki sposób odczytać plik małego zrzutu pamięci minidump.
1 Niebieski Ekran Śmierci – BSOD
Bardzo często podczas awarii komputera na ekranie monitora zostaje wyświetlony komunikat z niebieskim tłem, który zawiera kod błędu i kilka informacji o prawdopodobnej przyczynie wystąpienia awarii.
Podczas wystąpienia błędu BSOD na dysku komputera zostaje utworzony tak zwany „mały zrzut pamięci (64kB)„, który zawiera przydatne informację mogące pomóc w ustaleniu przyczyny problemu. Plik małego zrzutu pamięci zawiera dane o komunikacie STOP, oraz jego parametrach, ale również o sterownikach załadowanych w systemie, informacje o procesach i jądrze dla wątku, którego praca została zatrzymana.
Aby skonfigurować typ zrzutu pamięci, w sytuacji pojawienia się błędu BSOD należy przejść do menu: Panel sterowania\System i zabezpieczenia\System i wybrać opcję Zaawansowane Ustawienia Systemu. W zakładce Właściwości systemu przechodzimy do menu Zaawansowane i klikamy opcję Ustawienia w pozycji Uruchamianie i Odzyskiwanie:
Najważniejsza opcją jest „Awaria Systemu”, gdzie koniecznie należy zaznaczyć zapisz zdarzenie do dziennika systemu, oraz wybrać opcję zapisywania informacji o debugowaniu do pliku zrzutu pamięci. Dodatkowo warto odznaczyć pozycję „Automatycznie uruchom ponownie” – dzięki temu podczas awarii komputera nie będzie on automatycznie uruchamiany ponownie, a my będziemy mogli lepiej zapoznać się z komunikatem błędu.
2 Odczytywanie pliku Minidump
Aby odczytać zawartość pliku zrzutu pamięci MiniDump, który domyślnie znajduje się w folderze C:\Windows\Minidump, należy pobrać i zainstalować narzędzie Standalone Debugging Tools for Windows. Po zainstalowaniu i uruchomieniu narzędzia Debugging Tools for Windows, należy wybrać menu File -> Open Crash Dump:
Innym sposobem uruchomienia narzędzia Debugging Tools for Windows jest uruchomienie aplikacji z poziomu konsoli systemowej. W tym celu przechodzimy do menu start -> cmd i w oknie konsoli wpisujemy polecenie:
- CD c:\Program files\debugging tools for windows
Oczywiście zamiast ścieżki c:\Program files\debugging tools for windows podajemy lokalizację aplikacji Debugging Tools for Windows. Następnie korzystamy z polecenia:
- WinDbg -y srv * \symbols* http://msdl.microsoft.com/download/symbols -i c:\windows\i386 – z c:\windows\minidump\minidump.dmp
Powyższa metoda została opisana dokładnie na stronie: http://support.microsoft.com/kb/315263/PL#method3 . My preferujemy uruchomienie aplikacji z graficznym interfejsem za pomocą pierwszej opisanej metody.
3 Analiza pliku MiniDump
Po uruchomieniu narzędzia Debugging Tools for Windows i otwarciu pliku Minidump, zobaczymy plik tekstowy z opisem błędu:
Szczególną uwagę podczas analizy pliku Minidump powinniśmy zwrócić na sekcję opisaną jako Bugcheck Analysis, gdzie znajdziemy fragment, który określa co było powodem wystąpienia błędu: Probably caused by
W ten sposób dowiemy się co było przyczyną wystąpienia błędu – zazwyczaj są to problemy związane z nieprawidłowym działaniem sterowników, aby rozwiązać określony problem wystarczy reinstalować sterownik. Jeżeli mamy problemy z uruchomieniem komputera, ponieważ błąd BSOD pojawia się automatycznie podczas uruchamiania systemu powinniśmy spróbować uruchomić komputer w trybie awaryjnym.