Would you like to react to this message? Create an account in a few clicks or log in to continue.


web
 
AnasayfaGaleriLatest imagesKayıt OlGiriş yap
C++ de Debugger Kullanımı Ybanner C++ de Debugger Kullanımı 2cznnm
 

 

 C++ de Debugger Kullanımı

Aşağa gitmek 
3 posters
YazarMesaj
Holyone
Yönetici
Yönetici
Holyone


Mesaj Sayısı Mesaj Sayısı : 3850
Paylaşım Gücü Paylaşım Gücü : 9917
Rep Point Rep Point : 106
Kayıt tarihi Kayıt tarihi : 25/02/09
Yaş Yaş : 31

C++ de Debugger Kullanımı Empty
MesajKonu: C++ de Debugger Kullanımı   C++ de Debugger Kullanımı EmptyC.tesi Eyl. 26, 2009 8:11 am

Visual C++ Derleyicisinde Debugger Nasıl Kullanılır?
Bugün yeni bir konu ile
karşınızdayım. Fonksiyon yazımı ile ilgili derslere baslayacagımız icin
ek olarak böyle bir konu anlatmayı uygun gördüm. Çünkü derleyicide
debuger (hata ayıklayıcı) kullanımını iyi bilmek sorunları daha hızlı
çözmeye yarar sağlar. O yüzden burada tek dersten oluşan Visual C++
Debugger Kullanımı Hakkında Bilgi Vermek İstiyorum. Derleyicilerde
Debugger kodunuzda yolunda gitmeyen durumları size bildirmek için
kullanılan bir uygulamadır. Yaptığınız sözdizimi hataları veya
uyarılar. Projenizi Build ederken kontrol edilir ve eğer ki bir
yanlışlık varsa debugger penceresine bunu yazar. Siz de buradaki hata
açıklamalarını görerek nerde hata var bunu görüp gerekli düzeltmeleri
yapabilirsiniz. Bir çok arkadaş bir yerden misal bir kod alıyor ve
akabinde şöyle bir soru soruyor. Ben bu kodu derlemeye çalıştım ama
bissürü hata verdi? Gibisinden sözlere cok şahit oldum. Ve bunun
olmaması için böyle bir yazı yazma gereği duydum. Şimdi bir kod örmeği
yazalım ve bunun neresinde hata var uyarı var debugger kullanarak
görelim.

[Resimleri görebilmek için üye olun veya giriş yapın.]

Yukarıdaki kodu aynen buraya yazıyorum.

**** main()
{
bool durum
int sifre;
int deger;
cout<<"Lütfen sifrenizi giriniz..."<
cin>>sifre;

if (sifre == 124 )
cout<<"Sifre Dogru. Sisteme Hosgeldiniz"<
durum = true;
else
{
cout<<"Hatali sifre"<
durum = false;
}

return 0;

}

Şimdi bu kodlara dokundmadan derleme işlemini gerçekleştirelim.

[Resimleri görebilmek için üye olun veya giriş yapın.]

Bakın bi dünya hata ve uyarı var.
Şimdi bunların kaynağı neresi bunları tek tek bulalım. Hata kaynağını
bulmak için description yani açıklamanın üstüne çift tıklayın hatanın
kaynaklandığı yeri derleyici bize gösterecek. Resimde de görelim.


[Resimleri görebilmek için üye olun veya giriş yapın.]

İlk satırdaki açılmaya tıkladık ve
bizi cin>>sifre; satırına ***ürdü. Hatanın descriptionuna
baktığımızda bize cin ifadesinin porgram kodlarında deklare
edilmediğini söylüyor. Aceba bu nedemek?. Bu şu demek oluyor. Biz cin
ifadesinin tanımlı olduğu header dosyasını include etmemişiz. Bunu
declare etmemiz lazım. Bunu koda deklare edip tekrar bir projeyi build
edelim.


[Resimleri görebilmek için üye olun veya giriş yapın.]


Cin in bulunduğu header dosyasını
include ettik. Ve tekrardan build dedik. Ama hata ve uyarılar bitmedi.
Ama yukardaki şekilde de görüldüğü gibi hatalar bitmemiş. Şimdi yine
ilk sıradaki satıra çift tıklayalım. Ve hata nerdeymiş görelim.


[Resimleri görebilmek için üye olun veya giriş yapın.]

Bizi ***ürdüğü yer int sifre; satırı
ama biz bakıyoruz bakıyoruz. Satırda hata yok. Peki neden burayı işaret
etti. Açıklamada bize syntax hatası verdi. Ve kodun ; (noktalı virgül)
ile devam etmesini söyledi. Burada eğer gösterilen satırda hata yoksa
hatayı bu satırdan önceki satırda arayacağız. Derleyici bazen örnekte
de olduğu gibi hata yerini tam işaret etmedi bu da biraz sizi düşünmeye
zorluyor. Satırdan önceki satıra baktığımızda bool durum ifadesinde ;
(noktalı virgül) ün kullanılmadığı görülüyor. Demekki hatayı burada
yapmışız. Hemen noktalı virgülü ekleyelim ve projeyi tekrar derleyelim.


[Resimleri görebilmek için üye olun veya giriş yapın.]

Derleme yapılırken yine bir hata
karşımıza çıktı. O da if else bloğunun doğru kullanılmadığı ile ilgili.
Aceba nerde hatamız var. Şunu bildiğimizi varsayarsak. İf den sonra
gelen birden fazla komut {} blokları arasında olmalıdır. Biz koda
bakıyoruz ve if den sonraki iki satırın {} bloları arasında olmadığını
görüyoruz. Hemen ilgili düzeltmeleri yapıyoruz ve tekrardan bir derleme
daha yapıyoruz. Ama aiağıdaki gibi bir hata daha var.


[Resimleri görebilmek için üye olun veya giriş yapın.]

Bize hatada **** tipli bir
fonksiyonun değer döndermeye çalıştığını söylüyor. Biz biliyoruz ki
**** tipli bri fonksiyon değer döndermez. O halde kod düzeltelim yani
return 0; satırını kaldırıp derleyelim.


[Resimleri görebilmek için üye olun veya giriş yapın.]

Evet kodumuz başarılı bir şekilde
derlendi. Yani temiz bir koda sahip olduk. Ama baktım da uyarı demişim
ama uyarıya ait bir şekilde kodu yazmamışım onu bari şimdi yapalım
temzi kodumuzu şu şekilde değiştiriyorum.


[Resimleri görebilmek için üye olun veya giriş yapın.]

Bu değişikliği yapıp derliyoruz.
Karşımıza debugger penceresi çıktı. Bu uyarılar programın derlenmesine
engel değildir. Sadece sizi uyarma mahiyetindedir. Burada bizi şu
şekilde uyardı. Deger ve oylesine isimli değişkenler tanımlanmış fakat
programda bir Allah’ın kulu gelip de bunu kullanmamış. Siz bunu
isterseniz kaldırabilirsiniz. İsterseniz de öylece durabilir. Bir
zararı yok. Daha örnek verecek olursak int tipinde fonksyionu
tanımlayıp değer döndermediğimiz zaman da uyarı alabiliriz. C++ a ait
bir anahtar sözcüğü değişken olarak tanımlamışsak haa alabiliriz misal.


int for; veya int break; gibi gerçi syntax renkelndirmesi sayesinde bu gibi hatalara düşmek biraz zor ama olsun.
Sayfa başına dön Aşağa gitmek
http://www.webs-team.tr.gg
PaTRoN
Banned
Banned
PaTRoN


Mesaj Sayısı Mesaj Sayısı : 46
Paylaşım Gücü Paylaşım Gücü : 48
Rep Point Rep Point : 0
Kayıt tarihi Kayıt tarihi : 22/05/10
Yaş Yaş : 28

C++ de Debugger Kullanımı Empty
MesajKonu: Geri: C++ de Debugger Kullanımı   C++ de Debugger Kullanımı EmptyC.tesi Mayıs 22, 2010 7:42 am

Gzl Saol Bilsemde Başka Kullanıcılara Yararı Olur SAolll Wink
Sayfa başına dön Aşağa gitmek
sadasdg
Geliştirici
Geliştirici
sadasdg


Mesaj Sayısı Mesaj Sayısı : 440
Paylaşım Gücü Paylaşım Gücü : 702
Rep Point Rep Point : 4
Kayıt tarihi Kayıt tarihi : 23/06/10
Yaş Yaş : 27

C++ de Debugger Kullanımı Empty
MesajKonu: Geri: C++ de Debugger Kullanımı   C++ de Debugger Kullanımı EmptyÇarş. Ağus. 04, 2010 12:33 pm

saoLasın..!
Sayfa başına dön Aşağa gitmek
 
C++ de Debugger Kullanımı
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
 :: Arşivlenmiş Ve Silinmiş :: Çöp Kutusu-
Buraya geçin: