19 Şubat 2015 Perşembe

Windows Debugger (Windbg) ile Mavi Ekran (Blue Screen) Hatasının Analizi

 Hepimizin başına mavi ekran hatası gelmiştir. Bilgisayarımız bir anda "Mavi Ekran" (BSOD) dediğimiz kritik bir sistem hatası oluşturup çökerek(crash) kendini yeniden başlatmış, sonrasında veri kaybına ve uygulama problemlerine sebep olmuştur. Böyle bir durumda en büyük sıkıntı sorunun tespit edip tekrar etmesini önlemektir. Bu yazımızda mavi ekran ile sonuçlanan sistem hatalarını analiz etmek için kullanabileceğimiz Crash Dump dosyalarından ve WinDbg aracından bahsedeceğiz.







Mavi ekran hatası aldığımızda dump dosyalarının standart' ta yazıldığı yer c:\windows\minidump klasörüdür.
Bu hatayı analiz etmek için windbg aracını http://www.windbg.org/ adresinden indirebiliriz.

Kurulumu yaptıktan sonra öncelikle yapmamız gereken debug işlemi sırasında programın kullanacağı dosyaların bizim bilgisayarımızda bir klasöre indirilmesini sağlamak.

Bunun için programımızı açtıktan sonra "File" menüsünen "Symbol File Path' ı" ayarlamak.
















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











Ok butonu ile sembol yolunu onayladıktan sonra dump dosyamızı aşağıda ki menüden seçerek analiz işlemlerine başlayabiliriz.


















Dump dosyasını seçtikten sonra ekranımıza ilk analiz sonuçları geldi.


















Bu adımda WinDbg bize Bugcheck Analysis işlemiyle mavi ekran hatasının olası nedeni hakkında bilgi vermeye başlayacaktır. Sonuca baktığımızda bize win32k.sys sürücüsünü işaret ediyor.

 Bu kadarı bizim için yeterli değil. Daha detaylı analiz işlemini başlatacağız. 

Komut satırına  "!analyze -v" yazarak analiz sürecini başlatalım.

Komut satırı programın en altında yer alıyor;































Ayrıca "!analyze -vv" komutu ile detay seviyesini arttırabiliriz.




















Sonuçları anlamlandırmaya çalışalım;

DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT   hatanın ait olduğu genel kategoriyi göstermektedir.
Bu durumunda bir driver problemi olduğunu anlıyoruz.

MODULE_NAME: win32k ve IMAGE_NAME: win32k.sys bilgileri ise hatayı göstermektedir. 















Sorun netleşmeye başladı. Hatalı modülü biraz açmaya çalışalım "lmvm win32k"  komutuyla yada mavi renkli win32k yazısına tıklayarak ekstra bilgi edinebiliriz.










Son olarak memory dump analizinde aşağıda ki komutlardan yararlanabiliriz:

lmtn  : Size hedef sistemde crash anında yüklü bütün sürücülerin bir listesini verir. lmvm ile ayrıntılarına ulaşabilirsiniz.

.time : BSOD olayının gerçekleştiği zaman bilgilerini verir.

!memusage : fiziksel bellek kullanımı ile ilgili özet bilgiler gösterir

!vm : sanal bellek kullanımı ile ilgili özet bilgiler gösterir

!analyze -show bugcheck_code : bug check koduyla ilgili ayrıntıları gösterir.


*Bug Check kodlarının nedenlerini ve açıklamalarını daha ayrıntılı bir şekilde görmek için aşağıda ki linki tıklayabilirsiniz.

Hiç yorum yok:

Yorum Gönder