Share via


Windows Debugging 101

Windows için en iyi debugger windbg dir. Debugging Tools for Windows beraberinde gelir. Buradan indirebilirsiniz:

https://www.microsoft.com/whdc/devtools/debugging/default.mspx

Ilk Tools lari kurun, mesela 32 bit versiyonu:

https://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

 

Ondan sonra dogru sembolleri kullandiginizi teyit edin. Bunlari isterseniz indirip makinenize yükleyebilirsiniz yada daha kolay yoldan dogru symbol server a baglanip ihtiyaciniza göre indirebilirsiniz.

Semboller olmadan bir dump i debug etmeniz çok zor, neredeyse imkansiz. Basitçe: Semboller dump daki bilgileri kaynak kod ile iliskilendirir. Sembolleri (kurmak isterseniz) ve symbol server bilgilerine buradan ulasabilirsiniz:

https://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx

Ayrica bu link altinda Sembol konusu hakkinda detayli bilgi ve bir video bulabilirsiniz:

https://support.microsoft.com/kb/311503

Yukaridaki linkler altinda verilmis olan bilgiler ile çok kolay gerekli ayarlari yapabilirsiniz. Asil Debugging de bundan sonra basliyor.

Elinizde bir dump var ise bunu windbg de crash dump olarak açin. Açtiktan sonra biraz beklemeniz gerekebilir. Örnegin internet üzerinden yukarida sözü geçen gerekli semboller indirilecektir. Windbg hazir oldugunda ilk komutunuzu girebilirsiniz:

!analyze -v

Eger dump Isletim Sistemi mavi ekrana düstügü için yazilmis ise. Windbg in analiz rutinleri size hemen problemin kaynagini gösterebilir. Maalesef çogu dump da bu yeterli olmayacak. Ondan windbg size bir suçlu gösterse de buna süpheli yaklasmak gerekir. Yani kendi isinizi kendiniz yapmalisiniz. Windbg in help i gerçekten ciddi bir kaynaktir. Komutlari, farkli mavi ekran bugcheckleri burada bulabilirsiniz.

 Debugging ögrenmek için ama komutlari bilmek yetmez. Asil Isletim Sistemini anlamak sart ki nereye bakmaniz gerektigini bilin. Isletim Sistemi bilginiz ne kadar iyi olursa, debuggingde de o kadar iyi olabilirsiniz. Ayrica pratik yapabilmek de gerçekten çok önemli.

Windows Isletim Sisteminin mimarisini size en iyi anlatabilecek kaynak Windows Internals kitabidir:

https://technet.microsoft.com/en-us/sysinternals/bb963901.aspx

Eger kitap sizi sikmaya baslarsa yazarlarin videolarini izleyebilirsiniz:

https://www.solsem.com/vid_internals.html

 

Farkli terimlerle mavi ekrana düsen, bugcheck eden veya crash olan bir Isletim Sistemi kendisini korumaya alir. O kadar agir bir hata olusmustur ki o asamadan sonra Isletim Sisteminin düzgün çalismasi garantilenemez. Ondan önemli bilgiler toplanir ve Sistem yeniden baslatilir. Bunu da demek gerekir: Mavi ekran çogu kisinin inancina karsin aslinda iyi bir seydir. Bu tarz problemleri çözmek istiyorsaniz mesela Isletim sisteminin hata raporlama özelligini kullanabilirsiniz veya dump i kendiniz inceleye bilirsiniz. Bunun için bir debugger a, sembollere ve Isletim sistemi ile ilgili mimari bilgiye sahip olmaniz gerekir.

Basar Güner