Öğretici: Visual Studio kullanarak bir .NET konsol uygulamasında hata ayıklama

Bu öğreticide Visual Studio bulunan hata ayıklama araçları tanıtılmaktadır.

Önkoşullar

Hata ayıklama derleme yapılandırmasını kullan

hata ayıklama ve yayın Visual Studio yerleşik derleme yapılandırmalarıdır. Hata ayıklama oluşturma yapılandırması hata ayıklama için ve son sürüm dağıtımı için sürüm yapılandırması ' nı kullanırsınız.

Hata ayıklama yapılandırmasında, bir program tam sembolik hata ayıklama bilgileriyle derlenir ve iyileştirmesi yoktur. Kaynak kodu ve oluşturulan yönergeler arasındaki ilişki daha karmaşık olduğundan iyileştirme, hata ayıklamayı karmaşıklaştırır. Bir programın yayın yapılandırmasında sembolik hata ayıklama bilgisi yoktur ve tamamen iyileştirilmiştir.

varsayılan olarak, Visual Studio hata ayıklama derleme yapılandırmasını kullanır, bu nedenle hata ayıklamadan önce değiştirmeniz gerekmez.

  1. Visual Studio’yu çalıştırın.

  2. Visual Studio kullanarak .NET konsol uygulaması oluşturmabölümünde oluşturduğunuz projeyi açın.

    Geçerli derleme yapılandırması araç çubuğunda gösterilir. aşağıdaki araç çubuğu görüntüsü, Visual Studio uygulamanın hata ayıklama sürümünü derlemek için yapılandırıldığını gösterir:

    hata ayıklama vurgulanmış Visual Studio araç çubuğu

Kesme noktası ayarlama

Kesme noktası, kesme noktası olan satır yürütülmeden önce uygulamanın yürütülmesini geçici olarak keser.

  1. Bu satırdaki kod penceresinin sol kenar boşluğuna tıklayarak adı, tarihi ve saati gösteren satırda bir kesme noktası ayarlayın. Sol kenar boşluğu satır numaralarının solunda bulunur. Bir kesme noktası ayarlamak için diğer yollar, imleci kod satırına yerleştirip F9 tuşuna basarak veya menü çubuğundan hata ayıklama > geçiş noktası geçişi ' ni seçmekten oluşur.

    aşağıdaki görüntüde gösterildiği gibi Visual Studio, kesme noktasının ayarlandığı satırı vurgulayarak ve sol kenar boşluğunda kırmızı bir nokta görüntüleyerek gösterir.

    Visual Studio Kesme noktası ayarlı program penceresi

  2. Programı hata ayıklama modunda çalıştırmak için F5 tuşuna basın. Hata ayıklamayı başlatmak için başka bir yol da menüden hata ayıklama > başlatma hata Ayıkla ' yı seçmektir.

  3. Program bir ad isteminde bulunduğunda konsol penceresine bir dize girin ve ardından ENTERtuşuna basın.

  4. Program yürütme, kesme noktasına ulaştığında ve Yöntem yürütmeden önce duraklar Console.WriteLine . Yereller penceresi, yürütülmekte olan yöntemde tanımlanan değişkenlerin değerlerini görüntüler.

    Visual Studio bir kesme noktasının ekran görüntüsü

Hemen penceresini kullanma

Komut penceresi, hata ayıklamanıza çalıştığınız uygulamayla etkileşime girebilmenizi sağlar. Programınızı nasıl etkilediğini görmek için değişkenlerin değerini etkileşimli olarak değiştirebilirsiniz.

  1. hemen penceresi görünür değilse, hata ayıkla > Windows > anında seçerek bunu görüntüleyin.

  2. name = "Gracie" Hemen penceresine girip ENTER tuşuna basın.

  3. currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() Hemen penceresine girip ENTER tuşuna basın.

    Komut penceresi, dize değişkeninin değerini ve değerin özelliklerini görüntüler DateTime . Ayrıca, değişkenlerin değerleri Yereller penceresinde güncelleştirilir.

    Visual Studio 2019 ' de yereller ve anında Windows

  4. Program yürütmeye devam etmek için F5 tuşuna basın. Devam etmenin başka bir yolu da menüden Debug > devam et ' i seçmekten.

    Konsol penceresinde görünen değerler, hemen penceresinde yaptığınız değişikliklere karşılık gelir.

    Girilen değerleri gösteren konsol penceresi

  5. Uygulamadan çıkmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.

Koşullu kesme noktası ayarlama

Program, kullanıcının girdiği dizeyi görüntüler. Kullanıcı hiçbir şey girmezse ne olur? Bunu, koşullu kesme noktası adında yararlı bir hata ayıklama özelliği ile test edebilirsiniz.

  1. Kesme noktasını temsil eden kırmızı noktaya sağ tıklayın. bağlam menüsünde koşullar ' ı seçerek kesme noktası Ayarlar iletişim kutusunu açın. Henüz seçili değilse, koşullar kutusunu seçin.

    Kesme noktası ayarları panelini gösteren düzenleyici-C #

  2. Koşullu ifade için, 5 ise testlerin örnek kodunu gösteren alana aşağıdaki kodu girin x .

    String.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    Kesme noktası her isabet edildiğinde, hata ayıklayıcı String.IsNullOrEmpty(name) yöntemini çağırır ve yalnızca Yöntem çağrısı döndürürse bu satırı keser true .

    Koşullu bir ifade yerine, bir deyim belirtilen sayıda yürütülmeden önce program yürütmeyi kesen bir isabet sayısı belirtebilirsiniz. Diğer bir seçenek de bir filtre koşulu belirtmektir. Bu, iş parçacığı tanımlayıcısı, işlem adı veya iş parçacığı adı olarak bu tür özniteliklere dayalı olarak program yürütmeyi keser.

  3. İletişim kutusunu kapatmak için Kapat ' ı seçin.

  4. F5'e basarak programı hata ayıklama ile başlatın.

  5. Konsol penceresinde, adınızı girmeniz istendiğinde ENTER tuşuna basın.

  6. Belirttiğiniz koşul ( name veya ya da null String.Empty ) karşılandığından, program yürütmesi kesme noktasına ulaştığında ve Yöntem yürütülmeden önce durduktan sonra duraklar Console.WriteLine .

  7. Şu anda yürütülmekte olan metodun yerellerinin değerlerini gösteren Yereller penceresini seçin. Bu durumda, Main Şu anda yürütülmekte olan yöntemdir. Değişkenin değerinin veya olduğunu gözlemleyin name "" String.Empty .

  8. Aşağıdaki ifadeyi komut penceresine girip ENTERtuşuna basarak değeri boş bir dize olduğunu onaylayın. Sonuç olarak true .

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    Soru işareti, bir ifadeyi değerlendirmekiçin hemen penceresini yönlendirir.

    Deyimin yürütülmesi yapıldıktan sonra bir true değeri döndüren komut penceresi-C #

  9. Program yürütmeye devam etmek için F5 tuşuna basın.

  10. Herhangi bir tuşa basarak konsol penceresini kapatın ve hata ayıklamayı durdurun.

  11. Kod penceresinin sol kenarındaki noktaya tıklayarak kesme noktasını temizleyin. Bir kesme noktasını temizlemek için diğer yollar F9 tuşuna basarak veya kod satırı seçiliyken kesme noktası > geçiş noktasını seçmektir.

Programda adımla

Visual Studio ayrıca, bir program aracılığıyla satır içine girerek ve yürütmesini izlemenize olanak tanır. Normalde, bir kesme noktası ayarlar ve program kodunuzun küçük bir bölümünde program akışını takip edersiniz. Bu program küçük olduğundan programın tamamında ilerlayabilirsiniz.

  1. Hata ayıklama > adımını seçin. Tek seferde bir ifadede hata ayıklamanın başka bir yolu da F11tuşuna basılarak yapılır.

    Visual Studio, bir sonraki yürütme satırının yanında bir ok görüntüler.

    C#

    Visual Studio yönteme adımla-C #

    Visual Basic

    Visual Studio adımla yöntemi-Visual Basic

    Bu noktada, Yereller penceresi args dizinin boş olduğunu ve name currentDate varsayılan değerlere sahip olduğunu gösterir. ayrıca, Visual Studio boş bir konsol penceresi açtı.

  2. F11tuşuna basın. Visual Studio şimdi bir sonraki yürütme satırını vurgular. Yereller penceresi değiştirilmez ve konsol penceresi boş kalır.

    C#

    yöntem kaynak-C içinde Visual Studio adımı #

    Visual Basic

    Visual Studio metot kaynağına adımla Visual Basic

  3. F11tuşuna basın. Visual Studio, değişken atamasını içeren ifadeyi vurgular name . Yereller penceresi olduğunu gösterir name null ve konsol penceresi "adınız nedir?" dizesini görüntüler.

  4. Konsol penceresine bir dize girerek ve ENTER' a basarak istemi yanıtlayın. Konsol yanıt vermiyor ve girdiğiniz dize konsol penceresinde görüntülenmiyor, ancak Console.ReadLine Yöntem yine de girişinizi yakalayacak.

  5. F11tuşuna basın. Visual Studio, değişken atamasını içeren ifadeyi vurgular currentDate . Yereller penceresi, yöntemi çağrısının döndürdüğü değeri gösterir Console.ReadLine . Konsol penceresi ayrıca isteminde girdiğiniz dizeyi de görüntüler.

  6. F11 tuşuna basın. YerelLer penceresinde özelliğinden currentDate atamadan sonra değişkenin değeri DateTime.Now gösterilir. Konsol penceresi değiştirilmez.

  7. F11 tuşuna basın. Visual Studio yöntemini Console.WriteLine(String, Object, Object) çağıran bir yöntemdir. Konsol penceresinde biçimlendirilmiş dize görüntülenir.

  8. Hata Ayıkla Adım > Adım'ı seçin. Adım adım yürütmeyi durdurmanın bir diğer yolu da Shift + F11 tuşuna basmak olabilir.

    Konsol penceresi bir ileti görüntüler ve bir tuşa basmanızı bekler.

  9. Konsol penceresini kapatmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.

Yayın derleme yapılandırmasını kullanma

Uygulamanın Hata Ayıklama sürümünü test ettiklerinden sonra Yayın sürümünü derle ve test edin. Yayın sürümü, bazen bir uygulamanın davranışını olumsuz etkileyebilecek derleyici iyileştirmelerini içerir. Örneğin, performansı geliştirmek için tasarlanmış derleyici iyileştirmeleri çok iş parçacıklı uygulamalarda yarış koşulları oluşturabilir.

Konsol uygulamanın Yayın sürümünü derlemek ve test etmek için, araç çubuğundaki derleme yapılandırmasını Hata Ayıkla'dan Sürüm olarak değiştirebilirsiniz.

yayın Visual Studio varsayılan araç çubuğu

F5 tuşuna basıyor veya Derleme menüsünden Çözümü Derle'yi Visual Studio uygulamanın Yayın sürümünü derler. Hata ayıklama sürümünde olduğu gibi test edin.

Sonraki adımlar

Bu öğreticide hata ayıklama Visual Studio kullandık. Sonraki öğreticide, uygulamanın dağıtılabilir bir sürümünü yayımlayacaksiniz.

Bu öğreticide, bu öğreticide kullanılabilen hata ayıklama Visual Studio.

Önkoşullar

Derleme yapılandırmasında hata ayıklamayı kullanma

Hata Ayıklama ve Yayın Visual Studio yerleşik derleme yapılandırmalarıdır. Hata ayıklama için Hata ayıklama derleme yapılandırmasını ve son sürüm dağıtımı için Yayın yapılandırmasını kullanırsiniz.

Hata ayıklama yapılandırmasında, bir program tam sembolik hata ayıklama bilgileriyle derlenmiş ve iyileştirmesi yoktur. Kaynak kod ve oluşturulan yönergeler arasındaki ilişki daha karmaşık olduğundan, iyileştirme hata ayıklamayı karmaşık hale gelir. Programın yayın yapılandırması sembolik hata ayıklama bilgisi yoktur ve tamamen iyileştirilmiştir.

Varsayılan olarak, Visual Studio hata ayıklama derleme yapılandırmasını kullanır, bu nedenle hata ayıklamadan önce bunu değiştirmek zorunda değildir.

  1. Visual Studio’yu çalıştırın.

  2. .NET konsol uygulaması oluşturma'da oluşturduğunuz projeyi Visual Studio.

    Geçerli derleme yapılandırması araç çubuğunda gösterilir. Aşağıdaki araç çubuğu görüntüsü, Visual Studio hata ayıklama sürümünü derlemek için yapılandırılmış olduğunu gösterir:

    Visual Studio hata ayıklama vurgulanmış bir araç çubuğu

Kesme noktası ayarlama

Kesme noktası, kesme noktasıyla satır yürütülmeden önce uygulamanın yürütülmesini geçici olarak kesintiye uğratmaz.

  1. Bu satırda kod penceresinin sol kenar boşluğuna tıklayarak adı, tarihi ve saati görüntüleyen satırda bir kesme noktası ayarlayın. Sol kenar boşluğu, satır numaralarının sol tarafındandır. Kesme noktası ayarlamanın diğer yolları, imleci kod satırına yerleştirmek ve ardından F9 tuşuna basmak veya menü çubuğundan Kesme Noktası Aç/Aç seçeneğini > seçmektir.

    Aşağıdaki görüntüde de Visual Studio vurgulanmış ve sol kenar boşluğunda kırmızı bir nokta görüntüleyerek kesme noktası ayarlanmış olan satırı gösterir.

    Visual Studio Kesme noktası ayarlanmış program penceresi

  2. Programı Hata Ayıklama modunda çalıştırmak için F5 tuşuna basın. Hata ayıklamayı başlatmanın bir diğer yolu da menüden Hata > AyıklamaYı Başlat'ı seçmektir.

  3. Program bir ad istendiğinde konsol penceresine bir dize girin ve Enter tuşuna basın.

  4. Program yürütmesi kesme noktalarına ulaştığında ve yöntemi Console.WriteLine yürütülmeden önce durdurulur. YerelLer penceresi, yürütülen yöntemde tanımlanan değişkenlerin değerlerini görüntüler.

    Visual Studio'da kesme noktası ekran görüntüsü

Hemen penceresini kullanma

Anında pencere, hata ayıklamış olduğunuz uygulamayla etkileşim kurmana olanak sağlar. Programlarınızı nasıl etkilediğini görmek için değişkenlerin değerini etkileşimli olarak değiştirebilirsiniz.

  1. Hemen penceresi görünmüyorsa, Anında hata ayıkla'Windows > > görüntüleniyor.

  2. Hemen name = "Gracie" penceresine girin ve Enter tuşuna basın.

  3. Hemen currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() penceresine girin ve Enter tuşuna basın.

    Hemen penceresinde dize değişkeninin değeri ve değerin özellikleri DateTime görüntülenir. Buna ek olarak, değişkenlerin değerleri YerelLer penceresinde güncelleştirilir.

    Visual Studio 2019'Windows YerelLer ve Anlık Visual Studio

  4. Program yürütmeye devam etmek için F5'e basın. Devam etmek için bir diğer yol da menüden Devam Hata > Ayıkla'nın seçerek devam etmektir.

    Konsol penceresinde görüntülenen değerler, Anında penceresinde yaptığınız değişikliklere karşılık gelir.

    Girilen değerleri gösteren konsol penceresi

  5. Uygulamadan çıkmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.

Koşullu kesme noktası ayarlama

Program, kullanıcının girdiği dizeyi görüntüler. Kullanıcı herhangi bir şey girmezse ne olur? Bunu koşullu kesme noktası adı verilen yararlı bir hata ayıklama özelliğiyle test etmek için kullanabilirsiniz.

  1. Kesme noktası temsil eden kırmızı noktaya sağ tıklayın. Bağlam menüsünde Koşullar'ı seçerek Kesme Noktası Ayarlar açın. Henüz seçilmemişse Koşullar kutusunu seçin.

    Kesme noktası ayarları panelini gösteren düzenleyici - C #

  2. Koşullu İfade için, alanına 5 ise test eden örnek kodu gösteren x aşağıdaki kodu girin. Kullanmak istediğiniz dil gösterilmezse, sayfanın üst kısmında dil seçiciyi değiştirebilirsiniz.

    String.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    Kesme noktası her isabet ettinde, hata ayıklayıcı yöntemini çağırarak yalnızca yöntem çağrısı String.IsNullOrEmpty(name) döndürse bu satırda true bozar.

    Koşullu ifade yerine, bir deyim belirtilen sayıda yürütülmeden önce program yürütmeyi kesintiye uğratması için bir isabet sayısı belirtilebilir. Bir diğer seçenek de iş parçacığı tanımlayıcısı, işlem adı veya iş parçacığı adı gibi özniteliklere göre program yürütmesini kesintiye uğratmak için bir filtre koşulu belirtmektir.

  3. İletişim kutusunu kapatmak için Kapat'ı seçin.

  4. F5 tuşuna basarak programı hata ayıklama ile başlatma.

  5. Konsol penceresinde, adını girmeniz istendiğinde Enter tuşuna basın.

  6. Belirttiğiniz koşul (veya ) karşılandı olduğundan, kesme noktalarına ulaştığında ve yöntem yürütülmeden önce name null program yürütme String.Empty Console.WriteLine durdurulur.

  7. Yerel ayarlar penceresini seçin. Bu pencerede, yürütülen yönteme yerel olan değişkenlerin değerleri gösterilir. Bu durumda, Main şu anda yürütülen yöntemdir. değişkeninin değerinin name veya olduğunu "" String.Empty gözlemlemek.

  8. Hemen penceresine aşağıdaki deyimi girerek ve Enter tuşuna basarak değerin boş bir dize olduğunu onaylayın. Sonuç şu true şekildedir: .

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    Soru işareti, bir ifadeyi değerlendirmek için anlık pencereyi yönlendiriyor.

    Immediate Window deyimi yürütülürken true değerini döndürdü - C #

  9. Program yürütmeye devam etmek için F5'e basın.

  10. Konsol penceresini kapatmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.

  11. Kod penceresinin sol kenar boşluğundaki noktaya tıklayarak kesme noktası'nın temizleme. Kesme noktası temizlemenin diğer yolları F9 tuşuna basılarak veya kod satırı seçili > Kesme Noktası'nın GeçişIni Değiştir'i seçmektir.

Bir programda adım adım ilerler

Visual Studio, bir program aracılığıyla satır satır adım izlemenizi ve yürütmesini izlemenizi de sağlar. Normalde bir kesme noktası ayarlır ve program kodunuzun küçük bir bölümü boyunca program akışını takip edersiniz. Bu program küçük olduğu için programın tamamına adım atabilirsiniz.

  1. Içine Adımla Hata > Ayıkla'ya seçin. Aynı anda bir deyimde hata ayıklamanın başka bir yolu da F11 tuşuna basmak olabilir.

    Visual Studio, bir sonraki yürütme çizgisinin yanında bir ok vurgular ve görüntüler.

    C#

    Visual Studio yönteme adımla-C #

    Visual Basic

    Visual Studio adımla yöntemi-Visual Basic

    Bu noktada, Yereller penceresi args dizinin boş olduğunu ve name currentDate varsayılan değerlere sahip olduğunu gösterir. ayrıca, Visual Studio boş bir konsol penceresi açtı.

  2. F11tuşuna basın. Visual Studio şimdi bir sonraki yürütme satırını vurgular. Yereller penceresi değiştirilmez ve konsol penceresi boş kalır.

    C#

    yöntem kaynak-C içinde Visual Studio adımı #

    Visual Basic

    Visual Studio metot kaynağına adımla Visual Basic

  3. F11tuşuna basın. Visual Studio, değişken atamasını içeren ifadeyi vurgular name . Yereller penceresi olduğunu gösterir name null ve konsol penceresi "adınız nedir?" dizesini görüntüler.

  4. Konsol penceresine bir dize girerek ve ENTER' a basarak istemi yanıtlayın. Konsol yanıt vermiyor ve girdiğiniz dize konsol penceresinde görüntülenmiyor, ancak Console.ReadLine Yöntem yine de girişinizi yakalayacak.

  5. F11tuşuna basın. Visual Studio, değişken atamasını içeren ifadeyi vurgular currentDate . Yereller penceresi, yöntemi çağrısının döndürdüğü değeri gösterir Console.ReadLine . Konsol penceresinde, isteminde girdiğiniz dize de görüntülenir.

  6. F11tuşuna basın. Yereller penceresi, currentDate özelliğinden atamasından sonra değişkenin değerini gösterir DateTime.Now . Konsol penceresi değiştirilmez.

  7. F11tuşuna basın. Visual Studio yöntemini çağırır Console.WriteLine(String, Object, Object) . Konsol penceresi biçimlendirilen dizeyi görüntüler.

  8. Hata ayıklama > adımını seçin. Adım adım yürütmeyi durdurmaya yönelik başka bir yöntem de SHIFT + F11tuşuna basmaktır.

    Konsol penceresinde bir ileti görüntülenir ve bir tuşa basmanız bekler.

  9. Herhangi bir tuşa basarak konsol penceresini kapatın ve hata ayıklamayı durdurun.

Yayın derleme yapılandırmasını kullan

Uygulamanızın hata ayıklama sürümünü sınadıktan sonra yayın sürümünü derleyip test etmeniz gerekir. Yayın sürümü bazen bir uygulamanın davranışını olumsuz yönde etkileyebilecek derleyici iyileştirmeleri içerir. Örneğin, performansı artırmak için tasarlanan derleyici iyileştirmeleri, çok iş parçacıklı uygulamalarda yarış koşulları oluşturabilir.

Konsol uygulamanızın yayın sürümünü derlemek ve test etmek için, araç çubuğundaki derleme yapılandırmasını Hata Ayıkla 'dan Release olarak değiştirin.

yayın vurgulanmış olan varsayılan Visual Studio araç çubuğu

F5 tuşuna bastığınızda veya build menüsünden çözüm oluştur ' u seçtiğinizde, Visual Studio uygulamanın yayın sürümünü derler. Hata ayıklama sürümünü yaptığınız gibi test edebilirsiniz.

Sonraki adımlar

bu öğreticide hata ayıklama araçları Visual Studio kullandınız. Sonraki öğreticide, uygulamanın dağıtılabilir bir sürümünü yayımlarsınız.

Bu öğretici yalnızca .NET 5 ve .NET 6 ' da kullanılabilir. Sayfanın üst kısmında bu seçeneklerden birini belirleyin.