Aracılığıyla paylaş


Tamamen yeni başlayanlar için hata ayıklama

Yazılım geliştiricileri olarak yazdığımız kodlar, her zaman beklentilerimizi karşılamaz. Bazen tamamen farklı bir şey yapar! Beklenmeyen bir durum oluştuğunda, bir sonraki görev bunun nedenini bulmaktır ve kodumuza saatlerce bakmaya devam etmek isteyebiliriz, ancak hata ayıklama aracı veya hata ayıklayıcı kullanmak daha kolay ve daha verimlidir.

Ne yazık ki hata ayıklayıcı, kodumuzdaki tüm sorunları veya "hataları" sihirli bir şekilde ortaya çıkarabilecek bir şey değildir. Hata Ayıklama, programlama hatası yaptığınız noktayı tam olarak bulmak için kodunuzu Visual Studio gibi bir hata ayıklama aracında adım adım çalıştırmak anlamına gelir. Daha sonra kodunuzda ve hata ayıklama araçlarınızda yapmanız gereken düzeltmeleri anlarsınız ve programı çalıştırmaya devam edebilmeniz için genellikle geçici değişiklikler yapmanıza olanak sağlar.

Bir hata ayıklayıcıyı etkili bir şekilde kullanmak, öğrenmesi zaman ve uygulama gerektiren bir beceridir, ancak sonuçta her yazılım geliştiricisi için temel bir görevdir. Bu makalede, hata ayıklamanın temel ilkelerini tanıtacak ve başlamanıza yönelik ipuçları sağlayacağız.

Kendinize doğru soruları sorarak sorunu netleştirin

Düzeltmeye çalışmadan önce karşılaştığınız sorunu netleştirmeye yardımcı olur. Kodunuzda zaten bir sorunla karşılaştığınızı tahmin ediyoruz, aksi takdirde burada hata ayıklamayı bulmaya çalışmazsınız! Bu nedenle, hata ayıklamaya başlamadan önce çözmeye çalıştığınız sorunu tanımladığınızdan emin olun:

  • Kodunuzun ne yapmasını bekliyorsunuz?

  • Bunun yerine ne oldu?

    Uygulamanızı çalıştırırken bir hatayla (özel durum) karşılaşırsanız, bu iyi bir şey olabilir! Özel durum, kod çalıştırılırken karşılaşılan beklenmeyen bir olaydır ve genellikle bir tür hatadır. Hata ayıklama aracı sizi kodunuzda özel durumun oluştuğu tam yere götürebilir ve olası düzeltmeleri araştırmanıza yardımcı olabilir.

    Başka bir şey olduysa, sorunun belirtisi nedir? Bu sorunun kodunuzda nerede oluştuğuna zaten şüpheleniyor musunuz? Örneğin, kodunuz bir metin görüntülüyorsa ancak metin yanlışsa, verilerinizin hatalı olduğunu veya görüntüleme metnini ayarlayan kodun bir tür hataya sahip olduğunu bilirsiniz. Hata ayıklayıcıdaki kodda adım adım ilerleyerek değişkenlerinizdeki her değişikliği inceleyerek tam olarak ne zaman ve ne kadar yanlış değerlerin atandığı hakkında bilgi edinebilirsiniz.

Varsayımlarınızı inceleme

Bir hatayı veya hatayı araştırmadan önce, belirli bir sonuç beklemenize neden olan varsayımları düşünün. Gizli veya bilinmeyen varsayımlar, hata ayıklayıcıdaki sorunun nedenini doğru incelediğinizde bile bir sorunu tanımlamanın yolunu açabilir. Olası varsayımların uzun bir listesine sahip olabilirsiniz! Varsayımlarınızı sınamak için kendinize sormanız gereken birkaç soru aşağıdadır.

  • Doğru API'yi mi (doğru nesne, işlev, yöntem veya özellik) kullanıyorsunuz? Kullandığınız bir API, düşündüğünüz şeyi yapmayabilir. (Hata ayıklayıcıda API çağrısını inceledikten sonra düzeltme, doğru API'yi tanımlamaya yardımcı olmak için belgelere bir gezi gerektirebilir.)

  • API'yi doğru kullanıyor musunuz? Doğru API'yi kullanmış ancak doğru şekilde kullanmamış olabilirsiniz.

  • Kodunuz herhangi bir yazım hatası içeriyor mu? Özellikle değişkenlerin kullanılmadan önce bildirilmesi gerekmeyen dillerle çalışırken, değişken adının basit bir yanlış yazılması gibi bazı yazım hatalarını görmek zor olabilir.

  • Kodunuzda bir değişiklik yaptınız ve gördüğünüz sorunla ilgili olmadığını mı varsaydınız?

  • Bir nesnenin veya değişkenin gerçekten olandan farklı bir değer (veya belirli bir değer türü) içermesini bekliyor muydunuz?

  • Kodun amacını biliyor musunuz? Başka birinin kodunda hata ayıklamak genellikle daha zordur. Kodunuz değilse, etkili bir şekilde hata ayıklamadan önce kodun tam olarak ne yaptığını öğrenmek için zaman harcamanız gerekebilir.

    Bahşiş

    Kod yazarken küçük bir başlangıç yapıp çalışan kodla başlayın! (burada iyi örnek kod yararlı olacaktır.) Bazen, gerçekleştirmeye çalıştığınız temel görevi gösteren küçük bir kod parçasıyla başlayarak büyük veya karmaşık bir kod kümesini düzeltmek daha kolaydır. Ardından, kodu artımlı olarak değiştirebilir veya ekleyebilir ve her noktada hataları test edebilirsiniz.

Varsayımlarınızı sorgulayarak kodunuzda bir sorun bulmak için gereken süreyi kısaltabilirsiniz. Bir sorunu çözmek için gereken süreyi de azaltabilirsiniz.

Sorunun oluştuğu yeri bulmak için hata ayıklama modunda kodunuzu adım adım ilerleyin

Normalde bir uygulamayı çalıştırdığınızda, yalnızca kod çalıştırıldıktan sonra hatalar ve yanlış sonuçlar görürsünüz. Bir program da nedenini söylemeden beklenmedik bir şekilde sonlandırabilir.

hata ayıklama modu olarak da adlandırılan bir uygulamayı bir hata ayıklayıcı içinde çalıştırdığınızda, program çalışırken hata ayıklayıcı gerçekleşen her şeyi etkin bir şekilde izler. Ayrıca, uygulamayı herhangi bir noktada duraklatarak durumunu incelemenize ve ardından kod satırınızda satır satır ilerleyerek her ayrıntıyı izlemenize olanak tanır.

Visual Studio'da, F5 tuşlarını kullanarak hata ayıklama moduna girersiniz (veya Hata Ayıklama>menüsündeki Hata Ayıklamayı Başlat komutunu ya da Hata Ayıklamayı Başlat düğmesini kullanabilirsiniz. Hata Ayıklama Araç Çubuğu'nda Hata Ayıklamayı Başlat düğmesini gösteren simge de bulunmaktadır.). Herhangi bir özel durum oluşursa, Visual Studio'nun Özel Durum Yardımcısı sizi özel durumun oluştuğu noktaya götürür ve diğer yararlı bilgileri sağlar. Kodunuzdaki özel durumları işleme hakkında daha fazla bilgi için bkz. hata ayıklama teknikleri ve araçları.

Bir özel durum almadıysanız, büyük olasılıkla kodunuzda sorunu nerede arayabileceğiniz konusunda iyi bir fikriniz vardır. Bu adımda, hata ayıklayıcıyla kesme noktalarını kullanarak kodunuzu daha dikkatli bir şekilde inceleme fırsatına sahip olursunuz. Kesme noktaları, güvenilir hata ayıklamanın en temel ve temel özelliğidir. Kesme noktası, Visual Studio'nun çalışan kodunuzu nerede duraklatması gerektiğini gösterir; böylece değişkenlerin değerlerine veya kodun çalıştığı sıraya veya belleğin davranışına göz atabilirsiniz.

Visual Studio'da, bir kod satırının yanındaki sol kenar boşluğuna tıklayarak hızla kesme noktası ayarlayabilirsiniz. veya imleci bir çizginin üzerine getirin ve F9tuşuna basın.

Bu kavramları göstermeye yardımcı olmak için, zaten birkaç hatası olan bazı örnek kodlara göz atacağız. C# kullanıyoruz ancak hata ayıklama özellikleri Visual Basic, C++, JavaScript, Python ve desteklenen diğer diller için geçerlidir. Visual Basic için örnek kod da sağlanır, ancak ekran görüntüleri C# dilindedir.

Örnek uygulama oluşturma (bazı hatalarla)

Ardından, birkaç hatası olan bir uygulama oluşturacaksınız.

  1. Visual Studio'yu ve .NET masaüstü geliştirme iş yükünü yüklemiş olmanız gerekir.

    Visual Studio'yu henüz yüklemediyseniz ücretsiz yüklemek için Visual Studio indirmeleri sayfasına gidin.

    Zaten Visual Studio'ya sahipseniz fakat iş yükünü yüklemeniz gerekiyorsa, Araçlar>Araçları ve Özellikleri Alseçeneğini seçin. Visual Studio Yükleyicisi başlatılır. .NET masaüstü geliştirme iş yükünü seçin ve ardından Değiştir'iseçin.

  2. Visual Studio'yu açın.

    Başlangıç penceresinde yeni proje oluştur seçin. Arama kutusuna konsol yazın, dil olarak C# veya Visual Basic seçin ve ardından .NET için Konsol Uygulaması seçin. Sonrakiseçin. Proje adı olarak ConsoleApp_FirstApp yazın ve İleriseçin.

    Farklı bir proje adı kullanıyorsanız, örnek kodu kopyalarken ad alanı değerini proje adınızla eşleşecek şekilde değiştirmeniz gerekir.

    Önerilen hedef çerçeveyi veya .NET 8'i seçin ve ardından Oluştur'useçin.

    .NET için Konsol Uygulaması proje şablonunu görmüyorsanız, Visual Studio Yükleyicisi'ni açan Araçları>Araç ve Özellik Alsayfasına gidin. .NET masaüstü geliştirme iş yükünü seçin ve ardından Değiştir'iseçin.

    Visual Studio, sağ bölmedeki Çözüm Gezgini'nde görünen konsol projesini oluşturur.

  3. Program.cs (veya Program.vb) içinde, tüm varsayılan kodu aşağıdaki kodla değiştirin. (Önce C# veya Visual Basic için doğru dil sekmesini seçin.)

    using System;
    using System.Collections.Generic;
    
    namespace ConsoleApp_FirstApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Welcome to Galaxy News!");
                IterateThroughList();
                Console.ReadKey();
            }
    
            private static void IterateThroughList()
            {
                var theGalaxies = new List<Galaxy>
            {
                new Galaxy() { Name="Tadpole", MegaLightYears=400, GalaxyType=new GType('S')},
                new Galaxy() { Name="Pinwheel", MegaLightYears=25, GalaxyType=new GType('S')},
                new Galaxy() { Name="Cartwheel", MegaLightYears=500, GalaxyType=new GType('L')},
                new Galaxy() { Name="Small Magellanic Cloud", MegaLightYears=.2, GalaxyType=new GType('I')},
                new Galaxy() { Name="Andromeda", MegaLightYears=3, GalaxyType=new GType('S')},
                new Galaxy() { Name="Maffei 1", MegaLightYears=11, GalaxyType=new GType('E')}
            };
    
                foreach (Galaxy theGalaxy in theGalaxies)
                {
                    Console.WriteLine(theGalaxy.Name + "  " + theGalaxy.MegaLightYears + ",  " + theGalaxy.GalaxyType);
                }
    
                // Expected Output:
                //  Tadpole  400,  Spiral
                //  Pinwheel  25,  Spiral
                //  Cartwheel, 500,  Lenticular
                //  Small Magellanic Cloud .2,  Irregular
                //  Andromeda  3,  Spiral
                //  Maffei 1,  11,  Elliptical
            }
        }
    
        public class Galaxy
        {
            public string Name { get; set; }
    
            public double MegaLightYears { get; set; }
            public object GalaxyType { get; set; }
    
        }
    
        public class GType
        {
            public GType(char type)
            {
                switch(type)
                {
                    case 'S':
                        MyGType = Type.Spiral;
                        break;
                    case 'E':
                        MyGType = Type.Elliptical;
                        break;
                    case 'l':
                        MyGType = Type.Irregular;
                        break;
                    case 'L':
                        MyGType = Type.Lenticular;
                        break;
                    default:
                        break;
                }
            }
            public object MyGType { get; set; }
            private enum Type { Spiral, Elliptical, Irregular, Lenticular}
        }
    }
    

    Bu kod için amacımız galaksi adını, galaksiye olan uzaklığı ve galaksi türünü bir listede görüntülemektir. Hata ayıklamak için kodun amacını anlamak önemlidir. Çıktıda göstermek istediğimiz listeden bir satırın biçimi aşağıdadır:

    galaksi adı, uzaklık, galaksi türü.

Uygulamayı çalıştırma

F5 veya Hata Ayıklamayı Başlat düğmesine Hata Ayıklamayı Başlat düğmesini gösteren Simge'ye basın. kod düzenleyicisinin üzerinde bulunan Hata Ayıklama Araç Çubuğu'nda.

Uygulama başlıyor ve hata ayıklayıcı bize herhangi bir özel durum göstermiyor. Ancak konsol penceresinde gördüğünüz çıkış beklediğiniz gibi değildir. Beklenen çıkış şu şekildedir:

Tadpole  400,  Spiral
Pinwheel  25,  Spiral
Cartwheel, 500,  Lenticular
Small Magellanic Cloud .2,  Irregular
Andromeda  3,  Spiral
Maffei 1,  Elliptical

Ancak, bunun yerine bu sonuçları görürsünüz.

Tadpole  400,  ConsoleApp_FirstApp.GType
Pinwheel  25,  ConsoleApp_FirstApp.GType
Cartwheel, 500,  ConsoleApp_FirstApp.GType
Small Magellanic Cloud .2,  ConsoleApp_FirstApp.GType
Andromeda  3,  ConsoleApp_FirstApp.GType
Maffei 1, 11,  ConsoleApp_FirstApp.GType

Çıkışa ve kodumuza baktığımızda, GType galaksi türünü depolayan sınıfın adı olduğunu biliyoruz. Sınıf adını değil gerçek galaksi türünü ("Spiral" gibi) göstermeye çalışıyoruz!

Uygulamada hata ayıklama

  1. Uygulama çalışmaya devam ediyorken bir kesme noktası ekleyin.

    foreach döngüsünde, bağlam menüsünü açmak için Console.WriteLine yönteminin yanına sağ tıklayın ve açılır menüden >Kesme Noktası Ekle seçeneğini seçin.

    foreach (Galaxy theGalaxy in theGalaxies)
    {
        Console.WriteLine(theGalaxy.Name + "  " + theGalaxy.MegaLightYears + ",  " + theGalaxy.GalaxyType);
    }
    

    Kesme noktasını ayarladığınızda, sol kenar boşluğunda kırmızı bir nokta görünür.

    Çıktıda bir sorun gördüğünüzde, hata ayıklayıcıda çıkışı ayarlayan önceki koda bakarak hata ayıklamaya başlarsınız.

  2. Hata Ayıklama araç çubuğunda RestartApp düğmesini gösteren Yeniden BaşlatSimgesi'ni seçin. Hata Ayıklama Araç Çubuğu'ndaki düğmesi (Ctrl + Shift + F5).

    Uygulama, ayarladığınız kesme noktasında duraklatılır. Sarı vurgulama, hata ayıklayıcının nerede duraklatıldığını gösterir (sarı kod satırı henüz yürütülmedi).

  3. Sağ taraftaki GalaxyType değişkeninin üzerine gelerek, kurbağacık simgesinin solunda theGalaxy.GalaxyType'i genişletin. GalaxyType MyGTypebir özellik içerdiğini ve özellik değerinin Spiralolarak ayarlandığını görürsünüz.

    Galaxy GalaxyType özelliğinin altında sarı renkli bir kod satırı ve açık bir menü ile Visual Studio Hata Ayıklayıcısı'nın ekran görüntüsü.

    "Spiral" aslında konsola yazdırmayı beklediğiniz doğru değerdir! Bu nedenle, uygulamayı çalıştırırken bu koddaki değere erişebilmeniz iyi bir başlangıçtır. Bu senaryoda yanlış API'yi kullanıyoruz. Şimdi hata ayıklayıcıda kod çalıştırırken bunu düzeltip düzeltemediğini görelim.

  4. Aynı kodda, hata ayıklamaya devam ederken imlecinizi theGalaxy.GalaxyType sonuna getirin ve theGalaxy.GalaxyType.MyGTypeolarak değiştirin. Düzenlemeyi yapabilmenize rağmen, kod düzenleyicisi size bir hata gösterir (kırmızı dalgalı çizgi). (Visual Basic'te hata gösterilmez ve kodun bu bölümü çalışır.)

  5. Geçerli kod satırını yürütmek için F11 (Hata Ayıklama> Adımla'ya veya Hata Ayıklama Araç Çubuğu'ndaki Adımla düğmesine) basın.

    F11 hata ayıklayıcıyı birer birer ilerletir (ve kodu yürütür). F10 (Üzerinden Adımla ) benzer bir komutdur ve her ikisi de hata ayıklayıcıyı kullanmayı öğrenirken yararlıdır.

    Hata ayıklayıcısını ilerletmeye çalıştığınızda, düzenlemelerin derlenemediğini belirten Hot Reload iletişim kutusu beliriyor.

    Kırmızı renkle vurgulanmış bir kod satırı ve Düzenle seçeneğinin seçili olduğu bir ileti kutusu içeren Visual Studio Hata Ayıklayıcısı'nın ekran görüntüsü.

    Düzenlemelerin derlenemiyor olduğunu belirten Düzenle ve Devam Et iletişim kutusu görüntülenir.

    Kırmızı renkle vurgulanmış bir kod satırı ve Düzenle seçeneğinin seçili olduğu bir ileti kutusu içeren Visual Studio Hata Ayıklayıcısı'nın ekran görüntüsü.

    Not

    Visual Basic örnek kodunda hata ayıklamak için, Hata Ayıklama araç çubuğunda Uygulamayı yeniden başlat düğmesini gösteren Yeniden BaşlatSimgesine tıklamanız gerekene kadar sonraki birkaç adımı atlayın. düğmesi.

  6. Düzenle veya Düzenle ve Devam Et ileti kutusunda Hızlı Yeniden Yükleme seçin. Hata Listesi penceresinde bir hata iletisi görürsünüz. Hata, 'object'MyGTypeiçin bir tanım içermediğini gösterir.

    Kırmızı renkle vurgulanmış bir kod satırı ve iki hatanın listelendiği Bir Hata Listesi penceresi bulunan Visual Studio Hata Ayıklayıcısı'nın ekran görüntüsü.

    Her galaksiyi GType türünde bir nesneyle ayarlasak da (MyGType özelliğine sahiptir), hata ayıklayıcı theGalaxy nesnesini GTypetüründe bir nesne olarak tanımaz. Neler oluyor? Galaksi türünü ayarlayan herhangi bir koda bakmak istiyorsunuz. Bunu yaptığınızda, GType sınıfının kesinlikle MyGTypeözelliğine sahip olduğunu ancak bir şeyin doğru olmadığını görürsünüz. object hakkındaki hata iletisi ipucuna dönüşür; türü, dil yorumlayıcıya objecttüründe bir nesne yerine GType türünde bir nesne gibi görünür.

  7. Galaksi türünü ayarlamayla ilgili kodunuz üzerinden bakıldığında, GalaxyType sınıfının Galaxy özelliğinin objectyerine GType olarak belirtildiğini görürsünüz.

    public object GalaxyType { get; set; }
    
  8. Yukarıdaki kodu aşağıdaki gibi değiştirin:

    public GType GalaxyType { get; set; }
    
  9. Hata ayıklama araç çubuğunda Uygulamayı yeniden başlat düğmesini gösteren Yeniden Başlat + düğmesi.

    Artık hata ayıklayıcı Console.WriteLineüzerinde duraklatıldığında, theGalaxy.GalaxyType.MyGTypeüzerine gelerek değerin doğru şekilde ayarlandığını görebilirsiniz.

  10. Sol kenar boşluğundaki kesme noktası dairesine tıklayarak kesme noktasını kaldırın (veya sağ tıklayıp kesme noktasını sil >)seçin ve devam etmek için F5 basın.

    Uygulama çalışır ve çıkışı görüntüler. Güzel görünüyor, ama bir şey fark ettin. Small Magellanic Cloud galaksisinin konsol çıkışında Düzensiz bir galaksi olarak gösterilmesini bekliyordunuz, ancak hiçbir galaksi türü gösterilmiyor.

    Tadpole  400,  Spiral
    Pinwheel  25,  Spiral
    Cartwheel, 500,  Lenticular
    Small Magellanic Cloud .2,
    Andromeda  3,  Spiral
    Maffei 1,  Elliptical
    
  11. switch deyiminden önce (Visual Basic'teki Select deyiminden önce) bu kod satırında bir kesme noktası ayarlayın.

    public GType(char type)
    

    Bu kod, galaksi türünün ayarlandığı yerdir, bu nedenle buna daha yakından bakmak istiyoruz.

  12. Hata ayıklama araç çubuğunda Uygulamayı yeniden başlat düğmesini gösteren Yeniden Başlat + düğmesi.

    Hata ayıklayıcı, kesme noktasını ayarladığınız kod satırında duraklatılır.

  13. type değişkeninin üzerine fareyle gelin. S değerini görürsünüz (karakter kodunun ardından). Ideğeriyle ilgileniyorsunuz, çünkü bunun bir Düzensiz galaksi türü olduğunu biliyorsunuz.

  14. F5 tuşlarına basın ve type değişkeninin üzerine yeniden gelin. I değişkeninde type değerini görene kadar bu adımı yineleyin.

    Sarı renkli bir kod satırı ve değişken değeri 73 I olan bir pencere içeren Visual Studio Hata Ayıklayıcısı'nın ekran görüntüsü.

  15. Şimdi F11 (Hata Ayıklama>İçeri Gir) basın.

  16. 'I' (Visual Basic için deyimi) değeri için switch deyimindeki kod satırında durunana kadar Select basın. Burada, yazım hatasından kaynaklanan net bir sorun görürsünüz. Kodun MyGType'ı düzensiz galaksi türü olarak ayarladığı yere ilerlemesini bekliyorsunuz, ancak hata ayıklayıcı bunun yerine bu kodu tamamen atlar ve default deyiminin switch bölümünde duraklar (Visual Basic'teElse deyimi).

    Yazım hatasının gösterildiği ekran görüntüsü.

    Koda baktığınızda, case 'l' deyiminde bir yazım hatası görürsünüz. case 'I'olmalıdır.

  17. case 'l' kodunu seçin ve case 'I'ile değiştirin.

  18. Kesme noktanızı kaldırın ve ardından uygulamayı yeniden başlatmak için Yeniden Başlat düğmesini seçin.

    Hatalar şimdi düzeltildi ve beklediğiniz Çıktıyı görüyorsunuz!

    Uygulamayı bitirmek için herhangi bir tuşa basın.

Özet

Bir sorun gördüğünüzde hata ayıklayıcısını ve adım komutlarını F10 ve F11 gibi kullanarak sorunla ilgili kodun bölgesini bulun.

Not

Sorunun oluştuğu kodun bölgesini tanımlamak zorsa, sorun oluşmadan önce kodda çalışan bir kesme noktası ayarlayın ve ardından sorun bildirimini görene kadar adım komutlarını kullanın. İletileri Çıktı penceresine loglamak için izleme noktalarını da kullanabilirsiniz. Günlüğe kaydedilen iletilere bakarak (ve hangi iletilerin henüz günlüğe kaydedilmediğini fark ederek!), genellikle problemi bulunan kod bölgesini belirleyebilirsiniz. Daraltmak için bu işlemi birkaç kez tekrarlamanız gerekebilir.

Sorunla kod bölgesini bulduğunuzda, araştırmak için hata ayıklayıcısını kullanın. Sorunun nedenini bulmak için hata ayıklayıcıda uygulamanızı çalıştırırken sorun kodunu inceleyin:

  • değişkenleri inceleyin ve içermeleri gereken değer türünü içerip içermediklerini denetleyin. Hatalı bir değer bulursanız, hatalı değerin nerede ayarlandığını öğrenin (değerin nerede ayarlandığını bulmak için hata ayıklayıcıyı yeniden başlatmanız, çağrı yığınına veya her ikisine de bakmanız gerekebilir).

  • Uygulamanızın beklediğiniz kodu yürütip yürütmediğini denetleyin. (Örneğin örnek uygulamada, switch deyiminin kodunun galaksi türünü Düzensiz olarak ayarlamasını bekliyorduk, ancak uygulama yazım hatası nedeniyle kodu atladı.)

Bahşiş

Hataları bulmanıza yardımcı olması için hata ayıklayıcı kullanırsınız. Hata ayıklama aracı, kodunuzun amacını biliyorsa yalnızca sizin için hataları bulabilir. Bir araç kodunuzun amacını yalnızca geliştirici olarak bu amacı ifade ederseniz bilir. birim testleri yazmak bunu yapmanın yoludur.

Sonraki adımlar

Bu makalede, birkaç genel hata ayıklama kavramını öğrendiniz. Ardından hata ayıklayıcısı hakkında daha fazla bilgi edinmeye başlayabilirsiniz.