Merhaba,

Bu rehberde bircok yazılım geliştiricisi, kernel development ile ilgilenen kişilerin kullanmış olduğu oldukca faydalı bir arac olan DebugView aracını tanıtıp nasıl kullanıldığına değineceğiz. DebugView ile kernel-mode suruculerin debug cıktılarını, Win32 debug cıktılarını ve ceşitli programlar tarafından kullanılan API'lerin debug cıktılarını goruntuleyebilir, boylece yaşanan sorunları cozebilirsiniz. Veya herhangi bir surucu geliştirme deneyiminiz mevcutsa, surucunuzun debug cıktılarını bu arac ile goruntuleyip olası aksaklıkları cozume kavuşturabilirsiniz.

DebugView ile aynı zamanda log kaydı ve TCP/IP yoluyla LAN uzerinden uzak bilgisayarlardan da ceşitli debug cıktılarını elde etmek mumkun.

Kullanımı : Aşağıdan indirmiş olduğumuz DebugView aracını ZIP icerisinden cıkartıp, kullandığımız işlemci ve işletim sistemi mimarisine uygun olanı secip yonetici olarak calıştırıyoruz. Yonetici olarak calıştırmazsanız "Capture Kernel" butonuna bastığınızda veya acılış esnasında "Erişim Engellendi" hatası alabilirsiniz. Ayrıca yonetici olarak calıştırmamanız durumunda yazılım cıktıları loglarken aniden kapanabilmekte.

https://download.sysinternals.com/files/DebugView.zip

Programı calıştırdığımızda aşağıdaki gibi bir yazılım ve boş ekran bizleri karşılayacak. Ben bir sonraki gorselde "Capture Kernel" ozelliğini de actım ve devam ettim.




Ufak bir deneme yapıp Windows Guvenlik Merkezini cağırdığımızda, cağırma ensasında oluşan ve arkada bahsettiğimiz API veya suruculerin oluşturduğu debug cıktılarını gorebiliyoruz. Menulerde gezdikce cıktıların arttığını veya kimi zaman da daha farklı cıktıların oluştuğunu gorebilirsiniz.




Programın ne işe yaradığına ufak bir ornekle değindiğimize gore şimdi ise nasıl kullanılabileceğine ve barındırdığı ozellikleri anlamaya calışalım.
New Window: Yeni bir DebugView penceresi acar. Open: Başka bir DebugView penceresinden kaydedilen log cıktılarını acabilmeyi veya bu pencerede goruntuleyebilmeye yarar. Save: Bu pencerede gormuş olduğunuz debug cıktılarını ".log" şeklinde kaydetmeye yarar. Save As: Log kayıtlarını farklı kaydet. Log to File: Debug cıktıları dosya olarak belirttiğiniz konumdaki ".log" dosyası icine otomatikmen anında kaydedilir. Log to File As: Otomatik log kayıtlarını farklı kaydet. Print: DebugView ile elde edilen debug cıktılarını yazıcıyla kağıda yazdırmaya yarar. Cıktı yakalama işlemini durdurmadan yazdırma yapamazsınız. Bu nedenle yazdırmak istiyorsanız cı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 icin olan hata dokumlerini (.DMP) dosyalarını işleyebileceğiniz kısım. Unutmamak gerekir ki tersine muhendislik ve ceşitli surucu debug işlemlerinde halen XP'den yararlanılabilmektedir. Bu nedenle bu ozellik kullanışsız değil, halen oldukca faydalıdır. Exit: Programı kapatır.


Append Comment: Debug cıktıları arasına eklemek istediğiniz yorum varsa kullanabilirsiniz. Copy: Adı ustunde, kopyalayabilirsiniz. Find: Aradığınız debug cıktısını bulabilmenizi sağlar. Filter/Highligt: Ceşitli renk ve birtakım ayarlar. Clear Display: Ekranı temizler.

Capture Win32: Win32 debug cıktılarını yakalamanızı sağlar. Capture Global Win32: Bir oncekine benzer şekilde ceşitli ozel durumlarda bile Win32 cıktılarını yakalamayı sağlar. Capture Kernel: Kernel debug cıktılarını yakalamayı sağlar. Enable Verbose Kernel Output: Detaylı bir şekilde kernel cıktılarını elde etmeye yarar. Pass Through: Kernel-mode cıktıları, kernel-mode debuggerlara gecirebilmeyi veya gecirmemeyi sağlar. Capture Events: Olayları kaydeder. Log Boot: WinNT/2K ve XP'de sistemin başlama esnasında ortaya cıkan debug cıktılarını da yakalamaya yarar. Windows 10 icin kullanmanız onerilmez.


Win32 PIDs: Win32 PID yakalar. Diğerleri icin: https://documentation.help/DebugView/documentation.pdf



Bu kısım debug cıktılarının alınabileceği bilgisayarı sectiğiniz kısımdır. Connect diyerek LAN'daki uzak bir bilgisayardan da debug cıktılarını toplayabilir, Disconnect diyerek bağlantıyı kesebilirsiniz. Bir sonraki gorselde Connect diyerek nasıl başka bilgisayarla bağlantı sağlanır gosterilmiştir.





Alt menude ise şu ana kadar anlattığımız menulerdeki ozelliklerin hepsi buton halinde bulunuyor. Boylece uc saat menu gezmek yerine hemen bir butona basarak ozellik aktif edebiliyor veya kapatabiliyoruz.


Daha detaylı kullanım ve bilgi icin aşağıdaki dokumandan yararlanabilirsiniz.

https://documentation.help/DebugView/documentation.pdf