RadASM Inline Debugger ile Visual Studio gibi Kaynak Kod Üzerinden Hata Ayıklama İşlemi

Kategori Araçlar, Genel
05.05.2017
2618 Okunma

Esenlikler
RadASM’nin kendi debugger’ını kullanarak kaynak kodlar üzerinden aynı Visual Studio’da C/C++ kaynak kodları üzerinden yapılan hata ayıklama türevi gibi bir debug işlemi yapabildiğinizi biliyor muydunuz? Bu günceyi izleyen birçok kişinin assembly örneklerini daha rahat uygulayabilmek için MASM ve RadASM kullandığını biliyorum. RadASM kullanarak basit seviyede debug işlemi yapabilirsiniz.
1. Projemizi kaydedip mönüden “Proje > Proje Seçenekleri” seçiyoruz ve açılan pencereden “Sürüm – RELEASE” yerine “DEBUG” seçiyoruz. Bu sayede RadASM’yi aynı zamanda debugger olarak da kullanabileceğiz. Debug seçtiğiniz zaman Assemble ve LINK satırlarının nasıl değiştiğine bir bakın.
RELEASE – Sürüm:

Assemble:3,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",2
Link:5,O,$B\LINK.EXE /SUBSYSTEM:CONSOLE /RELEASE /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3
Asm Module:*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm


DEBUG – Hata Ayıklama

Assemble:3,O,$B\ML.EXE /c /coff /Cp /Zi /Zd /nologo /I"$I",2
LINK:5,O,$B\LINK.EXE /SUBSYSTEM:CONSOLE /DEBUG /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3
Asm Module:*.obj,O,$B\ML.EXE /c /coff /Cp /Zi /Zd /nologo /I"$I",*.asm

Assemble içine eklenen /Zi aslında ML.exe argümanıdır ve üretilen debug bilgisinin *.pdb dosyasına yazılmasından ve bu dosyanın yaratılmasından sorumludur./Zd ise harici ve global semboller ve satır numaraları içermekten sorumludur.

LINK içine /RELEASE yerine eklenen /DEBUG .exe ya da .dll için hata ayıklama bilgisi üretir. Bunu da “Program Database – .pdb” dosyasına hata ayıklama bilgisini ekleyerek yapar. Tekrar eden derlemelerde bu dosya güncellenir.

2. Projemizi “Build” ile derleyelim ama çalıştırmayalım. BreakPoint koymak istediğimiz yere CTRL-T ile breakpoint koyalım. Mönüden “Make > Debug (Hata Ayıkla) > Çalıştır”a basalım ve RadASM debugger’ın breakpointten durmasını bekleyelim:

3. Yine aynı mönü yolu üzerinden “Step Over – Ctrl-F7” veya “Step Into – F7” ile debug işlemlerimizi yapabiliriz.

Arkadaşlar debug işlemini yaparken kullandığım küçük uygulamayı da ekliyorum:
[dm]146[/dm]

Comments of this post

Henüz yorum bulunmuyor!