Öğ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'da klavye kısayolları.

Önkoşullar

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ıklama için Hata ayıklama derleme yapılandırmasını 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 derler ve iyileştirme 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ı 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.

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

  2. Visual Studio kullanarak .NET konsol uygulaması oluşturma bö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ünde Visual Studio'nun uygulamanın Hata Ayıklama sürümünü derlemek için yapılandırıldığı gösterilmektedir:

    Visual Studio toolbar with debug highlighted

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.

  1. 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 yerleştirmek ve ardından F9 tuşuna basmak veya menü çubuğundan Hata Ayıklama>Geçiş Kesme Noktası'nı seçmektir.

    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 Program window with breakpoint set

  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 Hata Ayıklamayı Seçmektir.

  3. Program bir ad istediğinizde konsol penceresine bir dize girin ve enter tuşuna basın.

  4. Program yürütmesi, kesme noktasına ulaştığında ve yöntem yürütülmeden önce Console.WriteLine durur. Locals penceresi, şu anda yürütülmekte olan yöntemde tanımlanan değişkenlerin değerlerini görüntüler.

    Screenshot of a breakpoint in Visual Studio

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.

  1. Anlık penceresi görünmüyorsa, Windows>Anında Hatalarını Ayıkla'yı>seçerek bu pencereyi görüntüleyin.

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

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

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

    Locals and Immediate Windows in Visual Studio 2019

  4. Program yürütmeye devam etmek için F5 tuşuna basın. Devam etmenin bir diğer yolu da menüden Hata Ayıklama>Devamı'nı seçmektir.

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

    Console window showing the entered values

  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ı olarak adlandırılan yararlı bir hata ayıklama özelliğiyle 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.

    Editor showing breakpoint settings panel - C#

  2. Koşullu İfade için, 5 olup olmadığını x 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ı yöntemini çağırır String.IsNullOrEmpty(name) ve yalnızca yöntem çağrısı döndürdüğünde truebu satırda bozulur.

    Koşullu ifade yerine, bir deyimin belirli bir sayıda yürütülmesinden önce program yürütmesini kesen bir isabet sayısı belirtebilirsiniz. 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ütmeyi kesen 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şlatın.

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

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

  7. Şu anda yürütülmekte olan 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. değişkeninin değerinin name veya String.Emptyolduğunu ""gözlemleyin.

  8. Hemen penceresine aşağıdaki deyimi girip Enter tuşuna basarak değerin boş bir dize olduğunu onaylayın. Sonuç olarak elde edilir true.

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

    Soru işareti, ifadeyi değerlendirmek için hemen pencereyi yönlendirir.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Program yürütmeye devam etmek için F5 tuşuna 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ı temizleyin. Kesme noktasını temizlemenin diğer yolları, F9 tuşuna basmak veya kod satırı seçiliyken Hata Ayıklama > Kesme Noktası Geçiş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.

  1. Hata Ayıklama>Adımı'nı seçin. Bir kerede bir deyimin hatalarını ayıklamanın bir diğer yolu da F11 tuş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 step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

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

  2. F11 tuşuna basın. Visual Studio artık bir sonraki yürütme satırını vurgular. Yerel Ayarlar penceresi değiştirilmez ve konsol penceresi boş kalır.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. F11 tuşuna basın. Visual Studio, değişken atamasını içeren deyimini name vurgular. Yerel Ayarlar penceresi bunun olduğunu namenullgösterir ve konsol penceresinde "Adınız nedir?" dizesi görüntülenir.

  4. Konsol penceresine bir dize girip Enter tuşuna basarak istemi yanıtlar. Konsol yanıt vermiyor ve girdiğiniz dize konsol penceresinde görüntülenmez, ancak Console.ReadLine yöntem yine de girişinizi yakalar.

  5. F11 tuşuna basın. Visual Studio, değişken atamasını içeren deyimini currentDate vurgular. Locals penceresi, yöntemine Console.ReadLine 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.

  6. F11 tuşuna basın. Locals penceresi, özelliğinden atamadan sonra değişkenin DateTime.Now değerini currentDate gösterir. Konsol penceresi değiştirilmez.

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

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

    Konsol penceresinde bir ileti görüntülenir 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ı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ıkla yerine Yayın olarak değiştirin.

default Visual Studio toolbar with release highlighted

F5 tuşuna bastığınızda veya Derleme menüsünden Çözüm Derle'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.

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'da klavye kısayolları.

Önkoşullar

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ıklama için Hata ayıklama derleme yapılandırmasını 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 derler ve iyileştirme 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ı 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.

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

  2. Visual Studio kullanarak .NET konsol uygulaması oluşturma bö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ünde Visual Studio'nun uygulamanın Hata Ayıklama sürümünü derlemek için yapılandırıldığı gösterilmektedir:

    Visual Studio toolbar with debug highlighted

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.

  1. 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 yerleştirmek ve ardından F9 tuşuna basmak veya menü çubuğundan Hata Ayıklama>Geçiş Kesme Noktası'nı seçmektir.

    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 Program window with breakpoint set

  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 Hata Ayıklamayı Seçmektir.

  3. Program bir ad istediğinizde konsol penceresine bir dize girin ve enter tuşuna basın.

  4. Program yürütmesi, kesme noktasına ulaştığında ve yöntem yürütülmeden önce Console.WriteLine durur. Locals penceresi, şu anda yürütülmekte olan yöntemde tanımlanan değişkenlerin değerlerini görüntüler.

    Screenshot of a breakpoint in Visual Studio

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.

  1. Anlık penceresi görünmüyorsa, Windows>Anında Hatalarını Ayıkla'yı>seçerek bu pencereyi görüntüleyin.

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

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

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

    Locals and Immediate Windows in Visual Studio 2019

  4. Program yürütmeye devam etmek için F5 tuşuna basın. Devam etmenin bir diğer yolu da menüden Hata Ayıklama>Devamı'nı seçmektir.

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

    Console window showing the entered values

  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ı olarak adlandırılan yararlı bir hata ayıklama özelliğiyle 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.

    Editor showing breakpoint settings panel - C#

  2. Koşullu İfade için, 5 olup olmadığını x 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ı yöntemini çağırır String.IsNullOrEmpty(name) ve yalnızca yöntem çağrısı döndürdüğünde truebu satırda bozulur.

    Koşullu ifade yerine, bir deyimin belirli bir sayıda yürütülmesinden önce program yürütmesini kesen bir isabet sayısı belirtebilirsiniz. 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ütmeyi kesen 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şlatın.

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

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

  7. Şu anda yürütülmekte olan 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. değişkeninin değerinin name veya String.Emptyolduğunu ""gözlemleyin.

  8. Hemen penceresine aşağıdaki deyimi girip Enter tuşuna basarak değerin boş bir dize olduğunu onaylayın. Sonuç olarak elde edilir true.

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

    Soru işareti, ifadeyi değerlendirmek için hemen pencereyi yönlendirir.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Program yürütmeye devam etmek için F5 tuşuna 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ı temizleyin. Kesme noktasını temizlemenin diğer yolları, F9 tuşuna basmak veya kod satırı seçiliyken Hata Ayıklama > Kesme Noktası Geçiş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.

  1. Hata Ayıklama>Adımı'nı seçin. Bir kerede bir deyimin hatalarını ayıklamanın bir diğer yolu da F11 tuş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 step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

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

  2. F11 tuşuna basın. Visual Studio artık bir sonraki yürütme satırını vurgular. Yerel Ayarlar penceresi değiştirilmez ve konsol penceresi boş kalır.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. F11 tuşuna basın. Visual Studio, değişken atamasını içeren deyimini name vurgular. Yerel Ayarlar penceresi bunun olduğunu namenullgösterir ve konsol penceresinde "Adınız nedir?" dizesi görüntülenir.

  4. Konsol penceresine bir dize girip Enter tuşuna basarak istemi yanıtlar. Konsol yanıt vermiyor ve girdiğiniz dize konsol penceresinde görüntülenmez, ancak Console.ReadLine yöntem yine de girişinizi yakalar.

  5. F11 tuşuna basın. Visual Studio, değişken atamasını içeren deyimini currentDate vurgular. Locals penceresi, yöntemine Console.ReadLine 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.

  6. F11 tuşuna basın. Locals penceresi, özelliğinden atamadan sonra değişkenin DateTime.Now değerini currentDate gösterir. Konsol penceresi değiştirilmez.

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

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

    Konsol penceresinde bir ileti görüntülenir 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ı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ıkla yerine Yayın olarak değiştirin.

default Visual Studio toolbar with release highlighted

F5 tuşuna bastığınızda veya Derleme menüsünden Çözüm Derle'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.

Bu öğreticide Visual Studio'da kullanılabilen hata ayıklama araçları tanıtılmaktadır.

Önkoşullar

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ıklama için Hata ayıklama derleme yapılandırmasını 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 derler ve iyileştirme 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ı 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.

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

  2. Visual Studio kullanarak .NET konsol uygulaması oluşturma bö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ünde Visual Studio'nun uygulamanın Hata Ayıklama sürümünü derlemek için yapılandırıldığı gösterilmektedir:

    Visual Studio toolbar with debug highlighted

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.

  1. 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 yerleştirmek ve ardından F9 tuşuna basmak veya menü çubuğundan Hata Ayıklama>Geçiş Kesme Noktası'nı seçmektir.

    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 Program window with breakpoint set

  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 Hata Ayıklamayı Seçmektir.

  3. Program bir ad istediğinizde konsol penceresine bir dize girin ve enter tuşuna basın.

  4. Program yürütmesi, kesme noktasına ulaştığında ve yöntem yürütülmeden önce Console.WriteLine durur. Locals penceresi, şu anda yürütülmekte olan yöntemde tanımlanan değişkenlerin değerlerini görüntüler.

    Screenshot of a breakpoint in Visual Studio

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.

  1. Anlık penceresi görünmüyorsa, Windows>Anında Hatalarını Ayıkla'yı>seçerek bu pencereyi görüntüleyin.

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

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

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

    Locals and Immediate Windows in Visual Studio 2019

  4. Program yürütmeye devam etmek için F5 tuşuna basın. Devam etmenin bir diğer yolu da menüden Hata Ayıklama>Devamı'nı seçmektir.

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

    Console window showing the entered values

  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ı olarak adlandırılan yararlı bir hata ayıklama özelliğiyle 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.

    Editor showing breakpoint settings panel - C#

  2. Koşullu İfade için, 5 olup olmadığını x 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ı yöntemini çağırır String.IsNullOrEmpty(name) ve yalnızca yöntem çağrısı döndürdüğünde truebu satırda bozulur.

    Koşullu ifade yerine, bir deyimin belirli bir sayıda yürütülmesinden önce program yürütmesini kesen bir isabet sayısı belirtebilirsiniz. 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ütmeyi kesen 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şlatın.

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

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

  7. Şu anda yürütülmekte olan 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. değişkeninin değerinin name veya String.Emptyolduğunu ""gözlemleyin.

  8. Hemen penceresine aşağıdaki deyimi girip Enter tuşuna basarak değerin boş bir dize olduğunu onaylayın. Sonuç olarak elde edilir true.

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

    Soru işareti, ifadeyi değerlendirmek için hemen pencereyi yönlendirir.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Program yürütmeye devam etmek için F5 tuşuna 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ı temizleyin. Kesme noktasını temizlemenin diğer yolları, F9 tuşuna basmak veya kod satırı seçiliyken Hata Ayıklama > Kesme Noktası Geçiş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. Şu anda hata ayıklama olmasa da, odak Visual Studio'dadır:

  1. Hata Ayıklama>Adımı'nı seçin. Bir kerede bir deyimin hatalarını ayıklamanın bir diğer yolu da F11 tuş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 step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

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

  2. F11 tuşuna basın. Visual Studio artık bir sonraki yürütme satırını vurgular. Yerel Ayarlar penceresi değiştirilmez ve konsol penceresi boş kalır.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. F11 tuşuna basın. Visual Studio, değişken atamasını içeren deyimini name vurgular. Yerel Ayarlar penceresi bunun olduğunu namenullgösterir ve konsol penceresinde "Adınız nedir?" dizesi görüntülenir.

  4. Konsol penceresine bir dize girip Enter tuşuna basarak istemi yanıtlar. Konsol yanıt vermiyor ve girdiğiniz dize konsol penceresinde görüntülenmez, ancak Console.ReadLine yöntem yine de girişinizi yakalar.

  5. F11 tuşuna basın. Visual Studio, değişken atamasını içeren deyimini currentDate vurgular. Locals penceresi, yöntemine Console.ReadLine 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.

  6. F11 tuşuna basın. Locals penceresi, özelliğinden atamadan sonra değişkenin DateTime.Now değerini currentDate gösterir. Konsol penceresi değiştirilmez.

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

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

    Konsol penceresinde bir ileti görüntülenir 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ı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ıkla yerine Yayın olarak değiştirin.

default Visual Studio toolbar with release highlighted

F5 tuşuna bastığınızda veya Derleme menüsünden Çözüm Derle'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.