Alıştırma - Kesme noktalarını ayarlama

Tamamlandı

Kesme noktaları, hata ayıklama sırasında yürütmeyi duraklatmak için kullanılır. Bu, değişkenleri izlemenizi ve kodunuzun yürütülürken sırasını incelemenizi sağlar. Kesme noktaları, hata ayıklama işleminizi başlatmanın harika bir yoludur.

Kesme noktası ayarlama

Bu modülün önceki bölümlerinde hata ayıklayıcıda bir uygulama çalıştırdığınız bir alıştırmayı tamamladınız. Uygulama, HATA AYıKLAMA KONSOLU panelinde "selamlama iletileri" görüntüledi. Alıştırmanın sonunda kodun Andrew'un karşılamasını beklenmedik bir şekilde yinelediğini fark ettiniz.

Bu alıştırmada, sorunu belirlemenize yardımcı olması için bir kesme noktası kullanacaksınız.

  1. Program.cs dosyanızın aşağıdaki kod örneğini içerdiğinden emin olun:

    /* 
    This code uses a names array and corresponding methods to display
    greeting messages
    */
    
    string[] names = new string[] { "Sophia", "Andrew", "AllGreetings" };
    
    string messageText = "";
    
    foreach (string name in names)
    {
        if (name == "Sophia")
            messageText = SophiaMessage();
        else if (name == "Andrew")
            messageText = AndrewMessage();
        else if (name == "AllGreetings")
            messageText = SophiaMessage();
            messageText = messageText + "\n\r" + AndrewMessage();
    
        Console.WriteLine(messageText + "\n\r");
    }
    
    bool pauseCode = true;
    while (pauseCode == true);
    
    static string SophiaMessage()
    {
        return "Hello, my name is Sophia.";
    }
    
    static string AndrewMessage()
    {
        return "Hi, my name is Andrew. Good to meet you.";
    }
    
  2. Döngünün içindeki foreach ilk kod satırında kesme noktası ayarlamak için Visual Studio Code hata ayıklayıcı araçlarını kullanın.

    Koddaki kesme noktasını gösteren ekran görüntüsü.

    Tavsiye

    Kesme noktasını açmak/kapatmak için kolay seçeneklerden biri, satır numarasının solundaki alanı seçmektir (sol tıklama). Kesme noktaları, Run menüsü ve klavye kısayolları kullanılarak da ayarlanabilir.

  3. Çalıştır menüsünde Hata Ayıklamayı Başlat'ı seçin.

  4. Kod yürütmenin kesme noktasında duraklatıldığını ve geçerli kod satırının Düzenleyici'de vurgulandığına dikkat edin.

    Kesme noktasında kod yürütmenin duraklatıldığını gösteren ekran görüntüsü.

  5. Hata ayıklama denetimleri araç çubuğunda İçine Gir seçin.

    Düğme etiketlerini görüntülemek için fare işaretçisini Hata ayıklama denetimleri araç çubuğundaki düğmelerin üzerine getirebilirsiniz.

  6. Kod yürütmenin aşağıdaki kod satırına ilerlediğini ve duraklatıldığını görebilirsiniz:

    messageText = SophiaMessage();
    

    Bu kod satırı, yönteminin SophiaMessage dönüş değerini dize değişkenine messageTextatar.

  7. Adımla'nın seçilmesinin neden bu sonucu ürettiğini düşünmek için bir dakika bekleyin.

    • Sonraki yürütülebilir deyime ilerlemek için İçine Adımla düğmesi kullanılır.
    • İlk öğe names olduğundan dolayı, Sophia dizisi ve if ifadesi Sophia ismini kontrol ederken, ifade true olarak değerlendirilir ve kod yürütme if deyiminin kod bloğuna girer.
  8. Hata ayıklama denetimleri araç çubuğunda İçine Gir seçin.

  9. Kod yürütmesinin SophiaMessage metoduna ilerleyip durakladığını görebilirsiniz.

    Adımla düğmesi, sonraki yürütülebilir kod satırına kadar ilerlemiştir. Sonraki yürütülebilir kod satırı, dosyadaki bir sonraki satır numarası değildir, yürütme yolundaki sonraki deyimdir. Bu durumda, sonraki çalıştırılabilir ifade SophiaMessage yöntemine giriş noktasıdır.

  10. Hata ayıklama denetimleri araç çubuğunda Dışarı Adımla'yı seçin.

  11. Kod yürütmenin, SophiaMessage yöntemini çağıran kod satırına döndüğüne ve durakladığına dikkat edin.

  12. Bir dakika ayırıp Dışarı Adımla'nın seçilmesinin neden bu sonucu ürettiğini düşünün.

    Bir yöntemin içindeyken, Dışarı Adımla düğmesi geçerli yöntemin kalan satırlarını tamamlar ve ardından yöntemini çağıran yürütme bağlamını döndürür.

  13. Hata ayıklama denetimleri araç çubuğunda İçine Gir seçin.

  14. Kod yürütmenin aşağıdaki kod satırına ilerlediğini ve duraklatıldığını görebilirsiniz:

    messageText = messageText + "\n\r" + AndrewMessage();
    
  15. Yürütmenin neden bu kod satırına ilerlemiş olduğunu düşünmek için bir dakikanızı ayırın.

    Kod girintisi, bu kod satırının else if deyiminin kod bloğuna ait olduğunu ima etse de, aslında öyle değildir. Bu yapıya yönelik kod bloklarını tanımlamak için küme ayraçlarını {} kullanmak bu if - else if hatayı önlemeye yardımcı olurdu. Kod yazıldıkçe, döngü her yinelendiğinde Andrew'un iletisi eklenir messageText .

Kod güncelleştirmelerinizi doğrulama

Kodunuzdaki bir sorunu yalıtdıktan sonra kodunuzu güncelleştirmeniz ve ardından sorunun düzeltildiğini doğrulamanız gerekir.

  1. Hata ayıklama denetimleri araç çubuğunda Durdur'u seçin.

  2. Kod mantığınızı düzeltmek için bir dakikanızı alır.

    Kodunuzda tanımlanan sorunu düzeltmek için birkaç seçeneğiniz vardır. Örneğin:

    • Mevcut kod satırlarını tutabilir ve her kod bloğunun yapısına {} küme ayracı ekleyebilirsiniz if.

    • Son else if deyimi izleyen iki kod satırı birleştirilerek aşağıdaki gibi tek bir deyim oluşturabilirsiniz:

      else if (name == "AllGreetings")
          messageText = SophiaMessage() + "\n\r" + AndrewMessage();
      

    Her iki durumda da, güncelleştirilmiş kodunuz AndrewMessage kod bloğu içinde name == "AllGreetings" çağrısını içermelidir.

  3. Dosya menüsünde Kaydet'i seçin.

  4. Daha önce ayarladığınız kesme noktasını temizlemek için hata ayıklayıcı kullanıcı arabirimi araçlarını kullanın.

  5. Çalıştır menüsünde Hata Ayıklamayı Başlat'ı seçin.

  6. Kodunuzun artık beklenen sonuçları ürettiğini doğrulayın.

    Hello, my name is Sophia.
    
    Hi, my name is Andrew. Good to meet you.
    
    Hello, my name is Sophia.
    Hi, my name is Andrew. Good to meet you.
    
  7. Hata ayıklama denetimleri araç çubuğunda Durdur'u seçin.

Tebrikler! Bir mantık sorununu yalıtmanıza ve düzeltmenize yardımcı olması için Visual Studio Code hata ayıklayıcısını başarıyla kullandınız.

Özet

Bu ünitede hatırlamanız gereken birkaç önemli şey şunlardır:

  • Hata ayıklama oturumu sırasında kod yürütmeyi duraklatmak için kesme noktalarını kullanın.
  • Sonraki yürütülebilir kod satırını gözlemlemek için Hata Ayıklama denetimleri araç çubuğundaki İçine Gir seçeneğini kullanın.
  • Geçerli yöntemde ilerlemek ve yöntemi çağıran kod satırına geri dönmek için Hata Ayıklama Denetimleri araç çubuğundan Adım Dışarı'yı kullanın.