Rehber DebugView ile Win32 ve Driver Debug Çıktılarını Görüntüleme

Merhaba,

Bu rehberde birçok yazılım geliştiricisi, kernel development ile ilgilenen kişilerin kullanmış olduğu oldukça faydalı bir araç olan DebugView aracını tanıtıp nasıl kullanıldığına değineceğiz. DebugView ile kernel-mode sürücülerin debug çıktılarını, Win32 debug çıktılarını ve çeşitli programlar tarafından kullanılan API'lerin debug çıktılarını görüntüleyebilir, böylece yaşanan sorunları çözebilirsiniz. Veya herhangi bir sürücü geliştirme deneyiminiz mevcutsa, sürücünüzün debug çıktılarını bu araç ile görüntüleyip olası aksaklıkları çözüme kavuşturabilirsiniz.

DebugView ile aynı zamanda log kaydı ve TCP/IP yoluyla LAN üzerinden uzak bilgisayarlardan da çeşitli debug çıktılarını elde etmek mümkün.

Kullanımı : Aşağıdan indirmiş olduğumuz DebugView aracını ZIP içerisinden çıkartıp, kullandığımız işlemci ve işletim sistemi mimarisine uygun olanı seçip yönetici olarak çalıştırıyoruz. Yönetici olarak çalıştırmazsanız "Capture Kernel" butonuna bastığınızda veya açılış esnasında "Erişim Engellendi" hatası alabilirsiniz. Ayrıca yönetici olarak çalıştırmamanız durumunda yazılım çıktıları loglarken aniden kapanabilmekte.


Programı çalıştırdığımızda aşağıdaki gibi bir yazılım ve boş ekran bizleri karşılayacak. Ben bir sonraki görselde "Capture Kernel" özelliğini de açtım ve devam ettim.

1.PNG


Ufak bir deneme yapıp Windows Güvenlik Merkezini çağırdığımızda, çağırma ensasında oluşan ve arkada bahsettiğimiz API veya sürücülerin oluşturduğu debug çıktılarını görebiliyoruz. Menülerde gezdikçe çıktıların arttığını veya kimi zaman da daha farklı çıktıların oluştuğunu görebilirsiniz.

3.PNG


Programın ne işe yaradığına ufak bir örnekle değindiğimize göre şimdi ise nasıl kullanılabileceğine ve barındırdığı özellikleri anlamaya çalışalım.
  • New Window: Yeni bir DebugView penceresi açar.
  • Open: Başka bir DebugView penceresinden kaydedilen log çıktılarını açabilmeyi veya bu pencerede görüntüleyebilmeye yarar.
  • Save: Bu pencerede görmüş olduğunuz debug çıktılarını ".log" şeklinde kaydetmeye yarar.
  • Save As: Log kayıtlarını farklı kaydet.
  • Log to File: Debug çıktıları dosya olarak belirttiğiniz konumdaki ".log" dosyası içine otomatikmen anında kaydedilir.
  • Log to File As: Otomatik log kayıtlarını farklı kaydet.
  • Print: DebugView ile elde edilen debug çıktılarını yazıcıyla kağıda yazdırmaya yarar. Çıktı yakalama işlemini durdurmadan yazdırma yapamazsınız. Bu nedenle yazdırmak istiyorsanız çıktı almayı durdurun.
  • Print Range: Elde edilen verilerin kağıda ne kadarının yazılacağını, nasıl yazılacağını ayarlayabileceğiniz ve yazdırabileceğiniz yer.
  • Process Crash Dump: WinNT/2K ve XP için olan hata dökümlerini (.DMP) dosyalarını işleyebileceğiniz kısım. Unutmamak gerekir ki tersine mühendislik ve çeşitli sürücü debug işlemlerinde halen XP'den yararlanılabilmektedir. Bu nedenle bu özellik kullanışsız değil, halen oldukça faydalıdır.
  • Exit: Programı kapatır.

4.png

  • Append Comment: Debug çıktıları arasına eklemek istediğiniz yorum varsa kullanabilirsiniz.
  • Copy: Adı üstünde, kopyalayabilirsiniz.
  • Find: Aradığınız debug çıktısını bulabilmenizi sağlar.
  • Filter/Highligt: Çeşitli renk ve birtakım ayarlar.
  • Clear Display: Ekranı temizler.
5.png

  • Capture Win32: Win32 debug çıktılarını yakalamanızı sağlar.
  • Capture Global Win32: Bir öncekine benzer şekilde çeşitli özel durumlarda bile Win32 çıktılarını yakalamayı sağlar.
  • Capture Kernel: Kernel debug çıktılarını yakalamayı sağlar.
  • Enable Verbose Kernel Output: Detaylı bir şekilde kernel çıktılarını elde etmeye yarar.
  • Pass Through: Kernel-mode çıktıları, kernel-mode debuggerlara geçirebilmeyi veya geçirmemeyi sağlar.
  • Capture Events: Olayları kaydeder.
  • Log Boot: WinNT/2K ve XP'de sistemin başlama esnasında ortaya çıkan debug çıktılarını da yakalamaya yarar. Windows 10 için kullanmanız önerilmez.
6.png



7.png


  • Bu kısım debug çıktılarının alınabileceği bilgisayarı seçtiğiniz kısımdır. Connect diyerek LAN'daki uzak bir bilgisayardan da debug çıktılarını toplayabilir, Disconnect diyerek bağlantıyı kesebilirsiniz. Bir sonraki görselde Connect diyerek nasıl başka bilgisayarla bağlantı sağlanır gösterilmiştir.

8.png


9.PNG

  • Alt menüde ise şu ana kadar anlattığımız menülerdeki özelliklerin hepsi buton halinde bulunuyor. Böylece üç saat menü gezmek yerine hemen bir butona basarak özellik aktif edebiliyor veya kapatabiliyoruz.
10.PNG


Daha detaylı kullanım ve bilgi için aşağıdaki dökümandan yararlanabilirsiniz.

 
Son düzenleme:
Merhaba,

Sizden bir WinDBg rehberi bekliyorum. :)

Elinize sağlık bu arada.
WinDBg sanıldığı gibi sadece BSOD dump incelemek için değil, aslen daha detaylı ve çeşitli başka işlerde de kullanıldığı için rehberini hazırlamak uzun sürebilir, belki de tamamen bir rehberi yüzlerce sayfa kaplar :) İleride el kitabı halinde belki hazırlanabilir.

Öneri ve yorum için çok teşekkürler.
 
WinDBg sanıldığı gibi sadece BSOD dump incelemek için değil, aslen daha detaylı ve çeşitli başka işlerde de kullanıldığı için rehberini hazırlamak uzun sürebilir, belki de tamamen bir rehberi yüzlerce sayfa kaplar :) İleride el kitabı halinde belki hazırlanabilir.

Öneri ve yorum için çok teşekkürler.
Çok kapsamlı bir program olduğunu biliyorum. Aslında siz bunu parça parça çok güzel bir şekilde yapabilirsiniz diye düşünüyorum. :)
 

Geri
Yukarı