Debugger - lekarstwo na niebieski ekran

Podnoszenie systemu operacyjnego po awarii potrafi zająć cały dzień, a zdarza się też, że i dłużej. Co gorsza, system rzadko "wiesza się" tylko jeden raz. Najczęściej problem powtarza się aż do zlokalizowania i usunięcia jego przyczyny. Zadanie to zdecydowanie ułatwiają programy narzędziowe. Spróbujemy rozwiązać problem niebieskiego ekranu, używając WinDbg - darmowego debugera udostępnionego przez Microsoft.

Podnoszenie systemu operacyjnego po awarii potrafi zająć cały dzień, a zdarza się też, że i dłużej. Co gorsza, system rzadko "wiesza się" tylko jeden raz. Najczęściej problem powtarza się aż do zlokalizowania i usunięcia jego przyczyny. Zadanie to zdecydowanie ułatwiają programy narzędziowe. Spróbujemy rozwiązać problem niebieskiego ekranu, używając WinDbg - darmowego debugera udostępnionego przez Microsoft.

Większość administratorów skrzywi się na samą propozycję ściągnięcia i uruchomienia programu tego typu - przecież debugery to narzędzia programistów. Niemniej jednak warto zwrócić uwagę na WinDbg i - co postaramy się udowodnić - użycie go wcale nie wymaga wiedzy programistycznej.

Jakie są przyczyny awarii systemów Windows?

Debugger - lekarstwo na niebieski ekran

Konfiguracja zrzutów pamięci: opcje Uruchamianie i Odzyskiwanie na zakładce Zaawansowane we właściwościach systemu

Najpopularniejszymi procesorami, na jakich pracują systemy Windows, są od dawna układy serii x86. Został na nich zaimplementowany mechanizm ochronny umożliwiający jednoczesną pracę wielu programów bez wzajemnego naruszania przez nie zasobów przydzielonych dla innych programów. Ochrona ta jest zrealizowana w czterech poziomach priorytetów dostępu do pamięci oraz zasobów sprzętowych. Dwa poziomy są określane jako tryb jądra, dwa pozostałe jako tryb użytkownika.

Tryb jądra jest najbardziej uprzywilejowanym stanem dla x86. Pliki systemowe Windows oraz sterowniki są traktowane jako zaufane i pracują w trybie jądra. To daje im niekontrolowany dostęp do zasobów systemu i możliwość pracy z maksymalną wydajnością. Pozostałe programy pracują w dużo mniej uprzywilejowanym trybie użytkownika z ograniczonym bezpośrednim dostępem do większości zasobów systemu. Aplikacje, takie jak składniki pakietu Office, pracują w trybie użytkownika, by uchronić system przed uszkodzeniem.

Programy pracujące w trybie jądra są chronione przez system przed programami trybu użytkownika, nie są jednak chronione przed innymi programami pracującymi w tym uprzywilejowanym trybie. Na przykład jeśli sterownik w wyniku błędu próbuje dostać się do obszaru pamięci używanego przez inny program (bądź obszar nieprzeznaczony do dostępu dla sterowników), system Windows zawiesi się, zaś jego użytkownik zobaczy charakterystyczny i niestety dobrze znany niebieski ekran, znany też jako BSoD (Blue Screen of Death).

Blisko 95% awarii systemu Windows jest spowodowanych przez oprogramowanie zawierające błędy (bądź zawierające błędy sterowniki), z których większość pochodzi od zewnętrznych dostawców. Pozostałe 5% jest spowodowane uszkodzonym sprzętem, często powodującym awarie przez uszkodzenie zawartości pamięci operacyjnej.

Skoncentrujemy się tu na usuwaniu awarii pod systemami Windows 2000, XP oraz 2003 Server. Procedura ta jest identyczna dla stacji roboczych i serwerów. Proces debugowania oraz interpretacja jego wyników może też dać odpowiedź, jak można sobie poradzić z usuwaniem problemów z innymi systemami operacyjnymi, takimi jak Linux czy NetWare.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200