Öğretici: Visual Studio kullanarak bir .NET konsol uygulamasında hata ayıklama
Bu öğreticide Visual Studio'da kullanılabilen hata ayıklama araçları tanıtılmaktadır.
Önemli
Tüm klavye kısayolları Visual Studio'dan gelen varsayılan değerleri temel alır. Klavye kısayollarınız farklılık gösterebilir, daha fazla bilgi için bkz. visual studio
Önkoşullar
- Bu öğretici, Visual Studiokullanarak oluşturduğunuz .NET konsol uygulaması ile
içinde çalışır.
Hata ayıklama derleme yapılandırmasını kullanma
Hata Ayıklama ve Sürüm Visual Studio'nun yerleşik derleme yapılandırmalarıdır. Hata ayıklamak için Debug derleme yapılandırmasını ve son 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 optimizasyon yapılmaz. 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ı sembolik hata ayıklama bilgilerine sahip değildir 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.
Visual Studio'yu başlatın.
Visual Studiokullanarak .NET konsol uygulaması oluşturma
içinde 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ünde Visual Studio'nun uygulamanın Hata Ayıklama sürümünü derlemek için yapılandırıldığı gösterilmektedir:
Hata ayıklama vurgulanmış Visual Studio araç çubuğu
Kesme noktası ayarlama
kesme noktası kesme noktası içeren satır yürütülmeden önce uygulamanın yürütülmesini geçici olarak kesintiye uğratır.
Satırdaki kod penceresinin sol kenar boşluğuna tıklayarak adı, tarihi ve saati görüntüleyen bir kesme noktası ayarlayın. Sol kenar boşluğu, satır numaralarının solundadır. Kesme noktası ayarlamanın diğer yolları, imleci kod satırına getirip
F9 tuşuna basmak veya menü çubuğundan Hata AyıklamaKesme Noktası seçmektir. Aşağıdaki görüntüde gösterildiği gibi, Visual Studio kesme noktasının ayarlandığı satırı vurgulayıp sol kenar boşluğunda kırmızı bir nokta göstererek belirtir.
Programı Hata Ayıklama modunda çalıştırmak için F5 basın. Hata ayıklamayı başlatmanın bir diğer yolu da menüden Hata Ayıklama
Hata Ayıklamayı Başlat seçmektir. Program bir ad istedikten sonra konsol penceresine bir metin girin ve Enter tuşunabasın.
Program yürütme, kesme noktasına ulaştığında ve
Console.WriteLine
yöntemi yürütülmeden önce durur. Locals penceresi, şu anda yürütülmekte olan yöntemde tanımlanan değişkenlerin değerlerini görüntüler.
Anında penceresini kullanma
Anında penceresi, hata ayıkladığınız uygulamayla etkileşim kurmanızı sağlar. Programınızı nasıl etkilediğini görmek için değişkenlerin değerini etkileşimli olarak değiştirebilirsiniz.
Anında penceresi görünmüyorsa, Hata Ayıklama>Windows>Anındaöğesini seçerek görüntüleyin.
Anında penceresinegirin ve Enter tuşuna basın. Anında penceresinegirin ve Enter tuşuna basın. Anında penceresi, dize değişkeninin değerini ve DateTime değerinin özelliklerini görüntüler. Ayrıca, değişkenlerin değerleri Locals penceresinde güncelleştirilir.
Visual Studio 2019'da Yerel Değişkenler ve Anlık Pencere
Program yürütmeye devam etmek için F5 basın. Devam etmenin bir diğer yolu da menüden Debug>Devam 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 penceresini
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ıadlı yararlı bir hata ayıklama özelliğiyle test edebilirsiniz.
Kesme noktasını temsil eden kırmızı noktaya sağ tıklayın. Bağlam menüsünde Koşullar'ni seçerek Kesme Noktası Ayarları iletişim kutusunu açın. Koşulları kutusunu, seçili değilse, seçin.
Kesme noktası ayarları panelini gösteren
Koşullu İfadeiçin,
x
5 olup olmadığını test eden örnek kodu gösteren alana aşağıdaki kodu girin.string.IsNullOrEmpty(name)
String.IsNullOrEmpty(name)
Kesme noktasına her isabet edildiğinde, hata ayıklayıcı
String.IsNullOrEmpty(name)
metodunu çağırır ve yalnızca metod çağrısıtrue
döndürdüğünde bu satırda durur.Koşullu ifade yerine, isabet sayısıbelirtebilirsiniz. Bu sayı, bir deyimin belirtilen sayıda yürütülmesinden önce program yürütmeyi kesintiye uğratır. Bir diğer seçenek debir
filtre koşulu belirtmektir. Bu koşul, iş parçacığı tanımlayıcısı, işlem adı veya iş parçacığı adı gibi özniteliklere göre program yürütmeyi kesintiye uğratır. İletişim kutusunu kapatmak için Kapat'ı seçin.
F5tuşlarına basarak programı hata ayıklama ile başlatın.
Konsol penceresinde adınızı girmeniz istendiğinde Enter tuşuna basın.
Belirttiğiniz koşul (
name
null
veya String.Empty) karşılandığından, program yürütme kesme noktasına ulaştığında veConsole.WriteLine
yöntemi yürütülmeden önce durdurulur.Şu anda yürütülen yöntemde yerel olan değişkenlerin değerlerini gösteren Locals penceresini seçin. Bu durumda,
Main
şu anda yürütülmekte olan yöntemdir.name
değişkeninin değerinin""
veya String.Emptyolduğunu gözlemleyin.Anında penceresine aşağıdaki deyimi girip enterbasarak değerin boş bir dize olduğunu onaylayın. Sonuç true
'dır.? name == String.Empty
? String.IsNullOrEmpty(name)
Soru işareti, anlık pencereye bir ifadeyi değerlendirmesiiçin komut verir.
C# deyimi yürütüldükten sonra Anlık Pencere
"true" değerini döndürür. Program yürütmeye devam etmek için F5 basın.
Konsol penceresini kapatmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.
Kod penceresinin sol kenar boşluğundaki noktaya tıklayarak kesme noktasını temizleyin. Kesme noktasını kaldırmanın diğer yolları, F9 tuşuna basmak veya kod satırı seçiliyken Hata Ayıklama menüsünden > Kesme Noktası Geçişi seçeneğini seçmektir.
Bir programda adım adım ilerleyin
Visual Studio ayrıca bir programda satır satır ilerleyip yürütülmesini izlemenizi sağlar. Normalde, bir kesme noktası ayarlar ve program kodunuzun küçük bir bölümünde program akışını izlersiniz. Bu program küçük olduğundan, programın tamamında adım adım ilerleyebilirsiniz.
Hata Ayıklama>Adımlaseçin. Bir kerede bir deyimin hatalarını ayıklamanın başka bir yolu da F11tuşuna basmaktır.
Visual Studio, sonraki yürütme satırının yanında bir oku vurgular ve görüntüler.
C#
Visual Studio'da yönteme gir - C#
Visual Basic
Visual Studio'yu yönteme
Bu noktada, Locals penceresi
args
dizisinin boş olduğunu vename
vecurrentDate
varsayılan değerlere sahip olduğunu gösterir. Ayrıca, Visual Studio boş bir konsol penceresi açtı.F11tuşlarına basın. Visual Studio artık bir sonraki yürütme satırını vurgular. Locals penceresi değiştirilmez ve konsol penceresi boş kalır.
C#
Yöntem kaynağında Visual Studio adımı
Visual Basic
Visual Studio'yu yöntem kaynağına
F11tuşlarına basın. Visual Studio,
name
değişken atamasını içeren ifadeyi vurgular. Locals penceresindename
null
ve konsol penceresinde "Adınız nedir?" dizesi görüntülenir.Konsol penceresine bir dize girerek ve Entertuşuna basarak istemi yanıtlar. Konsol yanıt vermiyor ve girdiğiniz dize konsol penceresinde görüntülenmez, ancak Console.ReadLine yöntemi yine de girişinizi yakalar.
F11tuşlarına basın. Visual Studio,
currentDate
değişken atamasını içeren deyimi vurgular. Locals penceresi, Console.ReadLine yöntemine yapılan çağrı tarafından döndürülen değeri gösterir. Konsol penceresinde, istemde girdiğiniz dize de görüntülenir.F11tuşlarına basın. Locals penceresi, DateTime.Now özelliğinden atamadan sonra
currentDate
değişkeninin değerini gösterir. Konsol penceresi değiştirilmez.F11tuşlarına basın. Visual Studio Console.WriteLine(String, Object, Object) yöntemini çağırır. Konsol penceresinde biçimlendirilmiş dize görüntülenir.
Hata Ayıkla>Adım Dışarıseçin. Adım adım yürütmeyi durdurmanın bir diğer yolu da Shift+F11tuşlarına basmaktır.
Konsol penceresinde bir ileti görüntülenir ve bir tuşa basmanızı bekler.
Konsol penceresini kapatmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.
Yayın derleme yapılandırmasını kullanın
Uygulamanızın Hata Ayıklama sürümünü test ettikten sonra Yayın sürümünü de derleyip test etmelisiniz. Yayın sürümü, bazen bir uygulamanın davranışını olumsuz etkileyebilecek derleyici iyileştirmeleri 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ızın Yayın sürümünü derlemek ve test etmek için, araç çubuğundaki derleme yapılandırmasını Hata Ayıklama'dan Yayın'e değiştirin.
F5 tuşuna bastığınızda veya Derleme menüsünden Çözüm Derleme'yi 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 Visual Studio hata ayıklama araçlarını kullandınız. Sonraki öğreticide uygulamanın dağıtılabilir bir sürümünü yayımlayacaksınız.
Visual Studio kullanarak bir .NET konsol uygulaması yayımlama