Site icon Arena IT

Un BSOD inteles

BSODStim cu totii ce este un Blue Screen of Death (nu cred ca cineva pe aici s-a nascut cu *nix-ul in brate) insa nu multi pot intelege mesajele criptice afisate de acesta. Dupa cum stim, un BSOD apare atunci cand Windows-ul a intalnit vreun fel de eroare sau incompatibilitate ce este destul de grava pentru a cauza oprirea imediata a sistemului. BSOD-ul este, in adevaratul sens al cuvantului, un memory dump, adica o actiune intreprinsa de SO in care continutul memoriei folosite (RAM) este stocata intr-un fisier (dump) pentru a facilita debugging-ul iar apoi sistemul este restartat.

Cand Windows-ul intampina un BSOD acesta scrie memory dump-ul intr-un fisier mai mic numit minidump; acest lucru se face in toate versiunile de Windows incepand de la 2000 pana la Vista si Server 2008. Avantajul minidump-urilor este ca sunt mici si usor de navigat pe langa faptul ca ofera informatii utile pentru troubleshooting.

Pentru a deschide un minidump aveti nevoie de urmatoarele programe:

Debugging Tools for Windows reprezinta un framework care permite deschiderea si navigarea fisierelor dump. Nu uitati sa instalati versiunea pentru platforma pe care veti rula programul si nu pentru platforma pe care veti face troubleshooting (astfel, daca rulati Vista x86 si vreti sa deschideti un dump al unui sistem Vista x64 downloadati si instalati versiunea pe 32 de biti).

Symbol Packages contine informatia necesara pentru debugger pentru a rezolva date precum variabile locale, tipuri de structuri si informatii specifice pachetului pe care incercati sa-l analizati. Windows XP, 2003 si Vista nu au nevoie de symbol packages daca faceti debugging doar pentru sistemul local, adica cel pe care este instalat framework-ul; in caz contrar trebuie package file-ul specific sistemului pe care-l analizati.

Pachetele sunt destul de mari si se instaleaza in x:\Windows\Symbols (unde x este drive-ul pe care aveti instalat OS-ul). Pentru a seta calea pentru simboluri instalati Debugging Tools si navigati la Start, Programs, Debugging Tools for Windows si rulati WinDbg. Acolo duceti-va la Files, Symbol File Path (sau CTRL+S) si duceti-va in fisierul Symbols (calea e mentionata mai sus).

Alternativ, daca masina de debugging are acces la internet in Symbol Path scrieti „SRV*c:\windows\symbols*http://msdl.microsoft.com/download/symbols” (fara ghilimele). Aceasta cale duce WinDbg la situl Microsoft de unde va downloada orice simboluri necesare pentru deschiderea unui anume minidump. Acest lucru incetineste procesul dar este mai convenabil decat download-ul manual a sute de megabiti.

Daca faceti debugging pentru orice alt OS decat Vista sau Server 2008 va trebuie sa specificati calea fisierelor sursa; acestea sunt gasite in fisierul i386 de pe un CD de instalare de Windows (Vista si S2008 nu folosesc structura i386). Pentru aceasta duceti-va, in WinDbg, la File, Source File Path (sau CTRL+P) si apoi la fisierele sursa.

Apoi duceti-va la File, Open Crash Dump (sau CTRL+D) si navigati pana la x:\Windows\Minidump si deschideti cel mai recent fisier DMP; acestea sunt create dupa data deci va fi usor de localizat fisierul relevant.

Dump-ul va fi apoi dechis si incarcat odata ce simbolurile au fost accesate (sau downloadate). Odata ce vedeti liniile „Loading Kernel Symbols” si „Loading User Symbols” apoi „Bugcheck Analysis” sunteti ca si gata.

In josul ferestrei de debug este o linie de comanda unde puteti introduce comenzi de debug; daca nu sunteti sigur ca dump-ul a fost incarcat corect scrieti urmatoarea comanda pentru a-l reincarca: .reload (nu uitat de punctul dinainte de reload).

Dupa ce este incarcat scrieti: !analyze -v . Linia de comanda ar trebui sa aiba un *BUSY* langa ea cat timp debuggerul face o analiza detaliata a minidump-ului. Continutul fisierului sunt apoi redate in fereastra de debug. Faceti un scroll pana ajungeti din nou sus, unde bugcheck-ul da informatii detaliate referitoare la ce s-a intamplat si unde este problema.

Faceti din nou un scroll in jos pana la sfarsitul bugcheck-ului si uitati-va dupa liniile MODULE_NAME si IMAGE_NAME. Aceste linii va spun cu precizie ce modul software a cauzat eroarea. MODULE_NAME este defapt un hyperlink ce, in cazul unui click, va da informatii detaliate referitoare la acel modul.

Dupa ce aveti informatia folositi cu incredere Google pentru a face o cautare informata (sau folositi forumul nostru). Erorile de sistem sunt foarte bine documentate online dar trebuie sa folositi informatiile corecte. BSOD-urile de unele singure nu va dau atat de multe detalii si fara a cunoaste cauza blue screen-ului veti bajbai destul de mult pe intuneric dupa o solutie.

Exit mobile version