Alıştırma - Kesme noktalarını ayarlama
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.
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."; }Döngünün içindeki
foreachilk kod satırında kesme noktası ayarlamak için Visual Studio Code hata ayıklayıcı araçlarını kullanın.
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ı,
Runmenüsü ve klavye kısayolları kullanılarak da ayarlanabilir.Çalıştır menüsünde Hata Ayıklamayı Başlat'ı seçin.
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.
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.
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
SophiaMessagedönüş değerini dize değişkeninemessageTextatar.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
namesolduğundan dolayı,Sophiadizisi veififadesiSophiaismini kontrol ederken, ifadetrueolarak değerlendirilir ve kod yürütmeifdeyiminin kod bloğuna girer.
Hata ayıklama denetimleri araç çubuğunda İçine Gir seçin.
Kod yürütmesinin
SophiaMessagemetoduna 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
SophiaMessageyöntemine giriş noktasıdır.Hata ayıklama denetimleri araç çubuğunda Dışarı Adımla'yı seçin.
Kod yürütmenin,
SophiaMessageyöntemini çağıran kod satırına döndüğüne ve durakladığına dikkat edin.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.
Hata ayıklama denetimleri araç çubuğunda İçine Gir seçin.
Kod yürütmenin aşağıdaki kod satırına ilerlediğini ve duraklatıldığını görebilirsiniz:
messageText = messageText + "\n\r" + AndrewMessage();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 ifdeyiminin 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 buif - else ifhatayı önlemeye yardımcı olurdu. Kod yazıldıkçe, döngü her yinelendiğinde Andrew'un iletisi eklenirmessageText.
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.
Hata ayıklama denetimleri araç çubuğunda Durdur'u seçin.
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ı ekleyebilirsinizif.Son
else ifdeyimi 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
AndrewMessagekod bloğu içindename == "AllGreetings"çağrısını içermelidir.Dosya menüsünde Kaydet'i seçin.
Daha önce ayarladığınız kesme noktasını temizlemek için hata ayıklayıcı kullanıcı arabirimi araçlarını kullanın.
Çalıştır menüsünde Hata Ayıklamayı Başlat'ı seçin.
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.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.