26 Ekim 2014 Pazar

WinDBG - Kaynak Kod ile Debug Islemleri

Bu yazımızda kaynak kodu elimizde bulunan bir uygulamayı WinDBG yardımı ile debug işlemlerinin nasıl gerçekleştirildiğini anlatmaya çalışacağım. Öncelikle elimizde bulunan küçük bir uygulama kodunu Visual Studio 2010 Express edition yardımı ile derledik. Derlediğimiz kod parçacığı şu şekilde;



Derleme işleminden sonra WinDBG uygulamasını açıyoruz ve debug için kullanılacak olan uygulamanın sembol dosyalarının oldugu klasoru tanımlıyoruz.


Ardindan source path tanimlaması yaparak kaynak kodunun bulunduğu klasor tanımlaması yapılacak.



bu tanimlamalar yapildiktan sonra uygulamayı açıyoruz.

ModLoad: 00400000 0041b000   deneme1.exe
ModLoad: 7c900000 7c9af000   ntdll.dll
ModLoad: 7c800000 7c8f6000   C:\WINDOWS\system32\kernel32.dll
ModLoad: 10200000 10372000   C:\WINDOWS\system32\MSVCR100D.dll
(cb8.a90): Break instruction exception - code 80000003 (first chance)
eax=00251eb4 ebx=7ffd5000 ecx=00000003 edx=00000008 esi=00251f48 edi=00251eb4
eip=7c90120e esp=0012fb20 ebp=0012fc94 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
ntdll!DbgBreakPoint:
7c90120e cc              int     3

Şimdi de debug edeceğimiz uygulamanın kaynak dosyasını açıyoruz. Kaynak kodu görüntüledikten sonra istediğiniz satıra F9 kısayolu ile breakpoint koyabilirsiniz. böylelikle kaynak kod içinden derleme işlemi gerçekleştirilebilir.