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

bu öğreticide, .net uygulamalarıyla çalışmak üzere Visual Studio Code sağlanan 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 . NET 'in yerleşik derleme yapılandırması. 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 Code başlatma ayarları hata ayıklama derleme yapılandırmasını kullanır, bu nedenle hata ayıklamadan önce değiştirmeniz gerekmez.

  1. Visual Studio Code’u başlatın.

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

Kesme noktası ayarlama

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

  1. Program. cs dosyasını açın.

  2. 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 F9 tuşuna basarak veya > kod satırı seçiliyken menüden geçiş kesme noktası Çalıştır ' i seçmektir.

    Visual Studio Code, sol kenar boşluğunda kırmızı bir nokta görüntüleyerek kesme noktasının ayarlandığı satırı gösterir.

    Kesme noktası kümesi

Terminal girişi için ayarlama

Kesme noktası bir Console.ReadLine Yöntem çağrısından sonra bulunur. Hata ayıklama konsolu çalışan bir program için Terminal girişini kabul etmez. Hata ayıklama sırasında terminal girişini işlemek için tümleşik terminali (Visual Studio Code pencerelerinden birisi) veya bir dış terminali kullanabilirsiniz. Bu öğreticide, tümleşik terminal kullanacağız.

  1. .vscode/launch.json dosyasını açın.

  2. consoleAyarını internalConsole olarak değiştirin integratedTerminal :

    "console": "integratedTerminal",
    
  3. Yaptığınız değişiklikleri kaydedin.

Hata ayıklamayı Başlat

  1. Sol taraftaki menüdeki hata ayıklama simgesini seçerek hata ayıklama görünümünü açın.

    Visual Studio Code hata ayıkla sekmesini açın

  2. Bölmenin üst kısmındaki yeşil oku seçerek .NET Core başlatma (konsol)' nin yanına tıklayın. Programı hata ayıklama modunda başlatmak için diğer yollar F5 tuşuna basarak veya > menüden hata ayıklamayı Başlat Çalıştır ' i seçmekten yapılır.

    Hata ayıklamayı Başlat

  3. "Adınız nedir?" öğesini görmek için Terminal sekmesini seçin. programın yanıt beklemeden önce görüntülediğini iste.

    Terminal sekmesini seçin

  4. Bir ad istemine yanıt olarak Terminal penceresine bir dize girin ve ardından ENTERtuşuna basın.

    Program yürütme, kesme noktasına ulaştığında ve Yöntem çalışmadan önce duraklar Console.WriteLine . Değişkenler penceresinin Yereller bölümü, çalışmakta olan yöntemde tanımlanan değişkenlerin değerlerini görüntüler.

    Yerelleri gösteren kesme noktası isabet

Hata ayıklama konsolunu kullanma

Hata ayıklama konsolu penceresi, hata ayıkladığınızda uygulamayla etkileşime girebilmenizi sağlar. Programınızı nasıl etkileyeceğini görmek için değişkenlerin değerini değiştirebilirsiniz.

  1. Hata ayıklama konsolu sekmesini seçin.

  2. name = "Gracie" Hata ayıklama konsolu penceresinin en altındaki Istemine yazın ve ENTER tuşuna basın.

    Değişken değerlerini Değiştir

  3. currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() Hata ayıklama konsolu penceresinin alt kısmına girin ve ENTER tuşuna basın.

    Değişkenler penceresi, ve değişkenlerinin yeni değerlerini görüntüler name currentDate .

  4. Araç çubuğundaki devam düğmesini seçerek program yürütmeye devam edin. Devam etmenin başka bir yolu da F5'e basılarak yapılır.

    Hata ayıklamaya devam et

  5. Terminal sekmesini yeniden seçin.

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

    Girilen değerleri gösteren Terminal

  6. 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ı nokta üzerinde sağ tıklayın (macOS üzerindeCTRL+ tıklama). Bağlam menüsünde, bir koşullu ifade girmenize izin veren bir iletişim kutusu açmak için kesme noktasını Düzenle ' yi seçin.

    Kesme noktası bağlam menüsü

  2. ExpressionAçılan kutudan seçim yapın, aşağıdaki koşullu ifadeyi girin ve ENTERtuşuna basın.

    String.IsNullOrEmpty(name)
    

    Koşullu bir ifade girin

    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 çalıştırılmadan önce program yürütmesini 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. F5'e basarak programı hata ayıklama ile başlatın.

  4. Adınızı girmeniz istendiğinde, Terminal sekmesinde ENTER tuşuna basın.

    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 çalıştırılmadan önce durduktan sonra duraklar Console.WriteLine .

    Değişkenler penceresi name , değişkeninin değerinin veya olduğunu gösterir "" String.Empty .

  5. Hata ayıklama konsolu istemine aşağıdaki ifadeyi girerek ve ENTERtuşuna basarak değerin boş bir dize olduğunu onaylayın. Sonuç olarak true .

    name == String.Empty
    
  6. Program yürütmeye devam etmek için araç çubuğundaki devam düğmesini seçin.

  7. Terminal sekmesini seçin ve herhangi bir tuşa basarak programdan çıkın ve hata ayıklamayı durdurun.

  8. Kod penceresinin sol kenarındaki noktaya tıklayarak kesme noktasını temizleyin. Bir kesme noktasını temizlemek için diğer yollar, kod satırı seçiliyken F9 tuşuna basarak veya menüden kesme noktası ' nı seçerek >.

  9. Kesme noktası koşulunun kaybolacağını belirten bir uyarı alırsanız, kesme noktasını kaldır' ı seçin.

Programda adımla

Visual Studio Code 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. Metodun açılış küme ayracı üzerinde bir kesme noktası ayarlayın Main .

  2. Hata ayıklamaya başlamak için F5'e basın.

    Visual Studio Code kesme çizgisi çizgisini vurgular.

    Bu noktada, değişkenler penceresi args dizinin boş olduğunu ve name currentDate varsayılan değerlere sahip olduğunu gösterir.

  3. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Adımla düğmesi

    Visual Studio Code sonraki satırı vurgular.

  4. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Visual Studio Code, Console.WriteLine ad istemi için öğesini çalıştırır ve sonraki yürütme satırını vurgular. Sonraki satır, Console.ReadLine içindir name . Değişkenler penceresi değiştirilmez ve Terminal sekmesi "adınız nedir?" olarak gösterilir. isteme.

  5. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Visual Studio, name değişken atamasını vurgular. Değişkenler penceresi hala olduğunu gösterir name null .

  6. Terminal sekmesine bir dize girerek ve ENTER' a basarak istemi yanıtlayın.

    Terminal sekmesi, girerken girdiğiniz dizeyi görüntülemeyebilir, ancak Console.ReadLine Yöntem girişinizi yakalar.

  7. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Visual Studio Code, currentDate değişken atamasını vurgular. Değişkenler penceresi, yöntemine yapılan çağrı tarafından döndürülen değeri gösterir Console.ReadLine . Terminal sekmesi, istemde girdiğiniz dizeyi görüntüler.

  8. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Değişkenler penceresi, currentDate özelliğinden atamadan sonraki değişkenin değerini gösterir DateTime.Now .

  9. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Visual Studio Code yöntemini çağırır Console.WriteLine(String, Object, Object) . Konsol penceresi biçimlendirilen dizeyi görüntüler.

  10. Çalışma adımını Çalıştır' ı seçin > veya SHIFT + F11tuşuna basın.

    Adımla düğmesi

  11. Terminal sekmesini seçin.

    Terminal "çıkmak için herhangi bir tuşa basın..." şeklinde görüntülenir.

  12. Programdan çıkmak için herhangi bir tuşa basın.

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ü, bir uygulamanın davranışını 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 terminali açın ve şu komutu çalıştırın:

dotnet run --configuration Release

Ek kaynaklar

Sonraki adımlar

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

bu öğreticide, .net uygulamalarıyla çalışmak üzere Visual Studio Code sağlanan 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 .NET Core 'un 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 Code başlatma ayarları hata ayıklama derleme yapılandırmasını kullanır, bu nedenle hata ayıklamadan önce değiştirmeniz gerekmez.

  1. Visual Studio Code’u başlatın.

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

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. Program. cs dosyasını açın.

  2. 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 F9 tuşuna basarak veya > kod satırı seçiliyken menüden geçiş kesme noktası Çalıştır ' i seçmektir.

    Visual Studio Code, sol kenar boşluğunda kırmızı bir nokta görüntüleyerek kesme noktasının ayarlandığı satırı gösterir.

    Kesme noktası kümesi

Terminal girişi için ayarlama

Kesme noktası bir Console.ReadLine Yöntem çağrısından sonra bulunur. Hata ayıklama konsolu çalışan bir program için Terminal girişini kabul etmez. Hata ayıklama sırasında terminal girişini işlemek için tümleşik terminali (Visual Studio Code pencerelerinden birisi) veya bir dış terminali kullanabilirsiniz. Bu öğreticide, tümleşik terminal kullanacağız.

  1. .vscode/launch.json dosyasını açın.

  2. consoleAyarını internalConsole olarak değiştirin integratedTerminal :

    "console": "integratedTerminal",
    
  3. Yaptığınız değişiklikleri kaydedin.

Hata ayıklamayı Başlat

  1. Sol taraftaki menüdeki hata ayıklama simgesini seçerek hata ayıklama görünümünü açın.

    Visual Studio Code hata ayıkla sekmesini açın

  2. Bölmenin üst kısmındaki yeşil oku seçerek .NET Core başlatma (konsol)' nin yanına tıklayın. Programı hata ayıklama modunda başlatmak için diğer yollar F5 tuşuna basarak veya > menüden hata ayıklamayı Başlat Çalıştır ' i seçmekten yapılır.

    Hata ayıklamayı Başlat

  3. "Adınız nedir?" öğesini görmek için Terminal sekmesini seçin. programın yanıt beklemeden önce görüntülediğini iste.

    Terminal sekmesini seçin

  4. Bir ad istemine yanıt olarak Terminal penceresine bir dize girin ve ardından ENTERtuşuna basın.

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

    Yerelleri gösteren kesme noktası isabet

Hata ayıklama konsolunu kullanma

Hata ayıklama konsolu penceresi, hata ayıkladığınızda uygulamayla etkileşime girebilmenizi sağlar. Programınızı nasıl etkileyeceğini görmek için değişkenlerin değerini değiştirebilirsiniz.

  1. Hata ayıklama konsolu sekmesini seçin.

  2. name = "Gracie" Hata ayıklama konsolu penceresinin en altındaki Istemine yazın ve ENTER tuşuna basın.

    Değişken değerlerini Değiştir

  3. currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() Hata ayıklama konsolu penceresinin alt kısmına girin ve ENTER tuşuna basın.

    Değişkenler penceresi, ve değişkenlerinin yeni değerlerini görüntüler name currentDate .

  4. Araç çubuğundaki devam düğmesini seçerek program yürütmeye devam edin. Devam etmenin başka bir yolu da F5'e basılarak yapılır.

    Hata ayıklamaya devam et

  5. Terminal sekmesini yeniden seçin.

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

    Girilen değerleri gösteren Terminal

  6. 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ı nokta üzerinde sağ tıklayın (macOS üzerindeCTRL+ tıklama). Bağlam menüsünde, bir koşullu ifade girmenize izin veren bir iletişim kutusu açmak için kesme noktasını Düzenle ' yi seçin.

    Kesme noktası bağlam menüsü

  2. ExpressionAçılan kutudan seçim yapın, aşağıdaki koşullu ifadeyi girin ve ENTERtuşuna basın.

    String.IsNullOrEmpty(name)
    

    Koşullu bir ifade girin

    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. F5'e basarak programı hata ayıklama ile başlatın.

  4. Adınızı girmeniz istendiğinde, Terminal sekmesinde ENTER tuşuna basın.

    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 .

    Değişkenler penceresi name , değişkeninin değerinin veya olduğunu gösterir "" String.Empty .

  5. Hata ayıklama konsolu istemine aşağıdaki ifadeyi girerek ve ENTERtuşuna basarak değerin boş bir dize olduğunu onaylayın. Sonuç olarak true .

    name == String.Empty
    

    Deyimden sonra true değeri döndüren hata ayıklama konsolu

  6. Program yürütmeye devam etmek için araç çubuğundaki devam düğmesini seçin.

  7. Terminal sekmesini seçin ve herhangi bir tuşa basarak programdan çıkın ve hata ayıklamayı durdurun.

  8. Kod penceresinin sol kenarındaki noktaya tıklayarak kesme noktasını temizleyin. Bir kesme noktasını temizlemek için diğer yollar, kod satırı seçiliyken F9 tuşuna basarak veya menüden kesme noktası ' nı seçerek >.

  9. Kesme noktası koşulunun kaybolacağını belirten bir uyarı alırsanız, kesme noktasını kaldır' ı seçin.

Programda adımla

Visual Studio Code 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. Metodun açılış küme ayracı üzerinde bir kesme noktası ayarlayın Main .

  2. Hata ayıklamaya başlamak için F5'e basın.

    Visual Studio Code kesme çizgisi çizgisini vurgular.

    Bu noktada, değişkenler penceresi args dizinin boş olduğunu ve name currentDate varsayılan değerlere sahip olduğunu gösterir.

  3. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Adımla düğmesi

    Visual Studio Code sonraki satırı vurgular.

  4. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Visual Studio Code, Console.WriteLine ad istemi için öğesini yürütür ve sonraki yürütme satırını vurgular. Sonraki satır, Console.ReadLine içindir name . Değişkenler penceresi değiştirilmez ve Terminal sekmesi "adınız nedir?" olarak gösterilir. isteme.

  5. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Visual Studio, name değişken atamasını vurgular. Değişkenler penceresi hala olduğunu gösterir name null .

  6. Terminal sekmesine bir dize girerek ve ENTER' a basarak istemi yanıtlayın.

    Terminal sekmesi, girerken girdiğiniz dizeyi görüntülemeyebilir, ancak Console.ReadLine Yöntem girişinizi yakalar.

  7. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Visual Studio Code, currentDate değişken atamasını vurgular. Değişkenler penceresi, yöntemine yapılan çağrı tarafından döndürülen değeri gösterir Console.ReadLine . Terminal sekmesi, istemde girdiğiniz dizeyi görüntüler.

  8. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Değişkenler penceresi, currentDate özelliğinden atamadan sonraki değişkenin değerini gösterir DateTime.Now .

  9. Adımla Çalıştır' ı seçin > veya F11tuşuna basın.

    Visual Studio Code yöntemini çağırır Console.WriteLine(String, Object, Object) . Konsol penceresi biçimlendirilen dizeyi görüntüler.

  10. Çalışma adımını Çalıştır' ı seçin > veya SHIFT + F11tuşuna basın.

    Adımla düğmesi

  11. Terminal sekmesini seçin.

    Terminal "çıkmak için herhangi bir tuşa basın..." şeklinde görüntülenir.

  12. Programdan çıkmak için herhangi bir tuşa basın.

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ü, bir uygulamanın davranışını 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 terminali açın ve şu komutu çalıştırın:

dotnet run --configuration Release

Ek kaynaklar

Sonraki adımlar

bu öğreticide hata ayıklama araçları Visual Studio Code 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.