C# Dersleri 28 - Visual Studio'da Breakpoint Kullanımı

     Projelerde hata ayıklama süreci her zaman çok önemlidir ve bazen de sancılı olabilmektedir. C# dili(aslında neredeyse tüm dillerle) ile kodlama yaparken 3 çeşit hata ile karşılaşırız.

    * Syntax Hataları : Düzeltilmesi en kolay hatalardır. Visual Studo hata mesajları, 100 syntax hatasının 99'unda hatanın nerede olduğunu hemen bulmamızı sağlar.
    * Çalışma Zamanı(Runtime) Hataları : Çoğunlukla uygulamamız çöktüğünde Visual Studio hatanın satırına kadar bize raporlar. O yüzden giderilmesi yine çok da zor değildir.
    * Mantık Hataları : Farkedilmesi ve farkedilince düzeltilmesi en zor hatalardır. Zaten hata ayıklama sürecinin %90'ı mantık hatalarından kaynaklanır sanırım.     Örneğin bir öğrencinin not ortalamasını hesaplayan bir uygulama geliştirdiniz. Ancak öğrencinin sınav sonuçlarını uygulamaya girdiğinizde uygulamanız not ortalamasını 113 hesaplıyorsa uygulamanızda mantık hatası var demektir. Bu konuda ne yazık ki Visual Studio bize yardımcı olacak hata mesajları fırlatmaz çünkü C# gramerini ihlal eden bir durum yoktur. Ancak şanslıyız ki Microsoft'un çok düşünceli ve kalabalık bir developer ekibi var. Breakpoint'ler imdadımıza yetişiyor.

     Breakpoint Nedir?

     Uygulamamızı istediğimiz satırda duraklatıp, satır satır devam ederek tüm süreci takip edebilmemizi sağlayan yapıdır breakpoint. Her bir satırdan sonra uygulamanızda ne değişiklikler olmuş, değişken değerleri planladığınız gibi gitmiş mi ya da kurduğunuz algoritma istediğiniz gibi çalışmış mı breakpoint kullanarak görebilirsiniz.

     Önce basit bir uygulama hazırlayalım. Bir Windows form uygulamasında 3 Textbox ile öğrencinin vize, proje ve final notlarını alacağız. Vize notunun %30'unu, projenin %20'sini ve final notunun %50'sini alarak dönem sonu notunu hesaplayalım ve MessageBox'ta gösterelim. Daha sonra da breakpoint ile yazdığımız kodların çalışma sürecini adım adım takip edelim. Formun son hali şöyle :

C# ile Dönem Sonu Not Ortalaması Hesaplama

     Button'a çift tıklayarak code-behind'a geçelim ve başlayalım kodlamaya :     

private void btnCalculate_Click(object sender, EventArgs e)
{
    double vize = Convert.ToDouble(txtVize.Text);
    double proje = Convert.ToDouble(txtProje.Text);
    double final = Convert.ToDouble(txtFinal.Text);

    double result = 0;

    result = vize * 0.3 + proje * 0.2 + final * 0.5;
    MessageBox.Show(result.ToString());
}

     Breakpoint koymak istediğiniz satırın en soluna tıkladığınızda orada kırmızı bir daire belirdiğini göreceksiniz.

Visual studio breakpoint kullanımı

      Bu kırmızı daire, programınızın o satıra gelince duraklatılacağı anlamına gelir. Ben breakpointi Button click eventinin başına koydum yani kullanıcı butona tıklayınca breakpoint tetiklenmiş olacak.

     Projeyi çalıştırıp sınav sonuçlarını giriyorum. Vize 40, proje 60, final notu 70 olsun. Hesapla butonuna tıklayınca Visual Studio aktif oluyor ve breakpoint sarı oluyor. Bu, breakpointin tetiklendiği yani programın o satıra geldiği anlamına gelir. Breakpoint aktifken f10 tuşu ile bir sonraki satıra geçersiniz. f10 ile ilerleyelim. 

     Breakpoint bir satırı geçtikten sonra, o satırdaki değişkenlerin üstüne gelerek aldığı değerleri görebilirsiniz. Mesela vize değişkeninin üstüne geldiğinizde vize değişkeninin değerini belirten bir pencere açılacak.

Visual studio breakpoint kullanımı

     Bu şekilde değişkenlerinize doğru değerler atanıp atanmadığını kontrol edebilirsiniz.

     Immediate Window

     Uygulama breakpoint ile durdurulmuşken Immediate Window sayesinde değişkenlerin anlık değerlerini kontrol edebilirsiniz. Immediate Window açık değilse Debug -> Windows -> Immediate seçeneğiyle bu pencereyi açabilirsiniz. Bu pencereye istediğiniz kodu yazıp o anki değerini alabilirsiniz. Örneğin vize yazıp entera basarsanız vizenin o anki değerini gösterir.

     f10 ile devam edelim, vize, proje ve final değişkenlerine doğru değerleri attığından emin olalım. Daha sonra result hesaplanıp MessageBox'ta gösterilecektir. Bu aşamaya kadar herhangi bir yanlışlık olursa değerleri kontrol ederek farkedebilirsiniz.

     Breakpoint Kısayolları

    * Ctrl + Shift + F9 - Tüm breakpointleri temizler
    * F5 - Bir sonraki breakpointe kadar; ya da program sonlandırılıncaya kadar devam eder.
    * Shift F5 - Programı sonlandırır.
    * F9 - İmlecin bulunduğu satıra breakpoint ekler, breakpoint varsa kaldırır.
    * F10 - Sonraki satıra geçersiniz
    * F11 - Method çağrılıyorsa methoda atlar. Onun dışında F10 ile aynı
    
     Breakpointlerin önemini anlat anlat bitiremem sanırım. Yazdığınız kodda satır sayısı arttıkça breakpoint kullanmanız da kaçınılmaz oluyor.

YORUMLAR
Email Adresi *
Görüntülenecek İsim *
Yorum *
Paylaş
  • f