Windows Sistemlerde Crash Dump Analizi – Bölüm 3: Windows Debugging Tools Yapılandırılması

Windows Debugging Tools ile crash dump dosyasını analiz ederken, dökümü aldığımız bilgisayara ait sembollere ihtiyacımız olacaktır. Sembol tabloları, programların derlenme (compile) safhasında üretilirler. Bir program derlenirken yazıldığı yüksek seviye programlama dilinden makine koduna çevrilirler. Bu çevrim sırasında derleyici (compiler) bir sembol dosyası oluşturarak içine tanıtıcıları (identifiers), tanıtıcıların programda bulunduğu yerler ve tanıtıcıların özelliklerini (attributes) ve fonksiyon çağrılarını yazar. Çökme sırasında işletim sistemi sadece sorunun oluştuğu bellek adresini (16’lık sayı düzeninde – hexadecimal) bilir. Bizim ise çökme sebebini anlayabilmemiz için bu adres değerini hangi uygulamanın kullandığını ve bu uygulamanın ne yapmaya çalıştığını bilmemiz gerekir. Bu bilgiler de Windows sembol tablolarında yer alır.

Sembol tabloları her işletim sistemi ve her sistemin sürümlerinde – Windows 2003 32-bit ve 64-bit, Windows 2003 SP1, Windows 2003 R2 gibi – farklıdır. Crash dump analizi yaparken, her işletim sistemine ait gerekli sembol tablosunu indirmek yerine, Windows Debugging Tools’un sağladığı kolaylıktan faydalanabiliriz. Sembol tablolarının Internet üzerinde bulunduğu adresi ve analiz yaptığımız bilgisayarda sembollerin indirileceği dizini Debugging Tools’a bildirdiğimiz takdirde gerekli sembol dosyaları otomatik olarak indirilecektir. Ben kendi bilgisayarımda sembolleri C:Symbols dizini altında saklıyorum.

Sembolleri indirmek için Başlat -> Programlar altından WinDbg uygulamasını çalıştırıyoruz ve File -> Symbol File Path ile sembolleri arayacağımız yeri belirten pencereyi açıyoruz ve aşağıdaki satırı giriyoruz:

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

WinDbg uygulamasının sembolleri arayacağı dizini belirtiyoruz.

Bir crash dump dosyasını açarken, WinDbg dökümdeki EXE ve DLL dosyalarına bakacak ve sürüm bilgisini almaya çalışacaktır. Bu aşamadan sonra WinDbg, Microsoft’un sembol sunucusuna (http://msdl.microsoft.com/download/symbols) bir istekte bulunacak ve bu istekte sürüm bilgilerini ileterek bunların bulunduğu sembol tablolarını isteyecek, aldığı bilgileri de yerel diske (bizim durumumuzda C:Symbols altına) kopyalayacaktır. Ancak bu işlemi yapmadan önce sembollerin indirilmesini istediğiniz dizini diskinizde oluşturun, aksi takdirde sembollerin indirilmesi ile ilgili sorun yaşayabilirsiniz.

Sistemin Güncellenmesi Durumunda ya da Çökmenin Olduğu Makinadan Başka Bir Makinada Crash Dump Analizi

Eğer çökmeden sonra işletim sisteminde bir güncelleme yapıldıysa (işletim sistemi ya da aygıt sürücüleri) ya da crash dump analizini çökmenin olduğu makinadan başka bir makinada yapıyorsanız, %SystemRoot% altında bulunan sürücülerin sürümü crash dump’ın alındığı zamandan daha farklı (muhtemelen daha yeni) olacaktır. Bu sorunu aşabilmek için WinDbg uygulamasında File -> Image File Path ile Executable Image Search Path penceresini açarak aşağıdaki bilgiyi girebilrsiniz:

c:windowsSystem32; c:windowssystemSystem32

 

Windows Sistemlerde Crash Dump Analizi

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s