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

Bu öğreticide, .NET uygulamalarıyla çalışmak için Visual Studio Code'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 : . NET'in yerleşik derleme yapılandırmaları. 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 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'ı başlatın.

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

Kesme noktası ayarlama

Kesme noktası, kesme noktası içeren satır çalıştırilmeden önce uygulamanın yürütülmesini geçici olarak kesintiye uğratır.

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

  2. Kod penceresinin sol kenar boşluğuna tıklayarak, satırda 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ı F9 tuşuna basmak veya kod satırı seçiliyken menüden Kesme Noktasını Çalıştır'ı>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.

    Breakpoint set

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 biri) veya bir dış terminali kullanabilirsiniz. Bu öğretici için tümleşik terminali kullanırsınız.

  1. Proje klasörü bir .vscode klasörü içerir. .vscode klasöründeki launch.json dosyasını açın.

  2. launch.json dosyasında ayarını console olarak internalConsole integratedTerminaldeğiştirin:

    "console": "integratedTerminal",
    
  3. Değişikliklerinizi kaydedin.

Hata ayıklamayı başlatma

  1. Sol taraftaki menüden Hata Ayıklama simgesini seçerek Hata Ayıklama görünümünü açın.

    Open the Debug tab in Visual Studio Code

  2. Bölmenin üst kısmındaki .NET Core Başlatma (konsol) seçeneğinin yanındaki yeşil oku seçin. Programı hata ayıklama modunda başlatmanın diğer yolları F5 tuşuna basmak veya menüden Hata Ayıklamayı Başlat'ı>seçmekten geçer.

    Start debugging

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

    Select the Terminal tab

  4. Terminal penceresine bir ad istemine yanıt olarak bir dize girin ve Enter tuşuna basın.

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

    Breakpoint hit, showing Locals

Hata Ayıklama Konsolunu kullanma

Hata Ayıklama Konsolu 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 değiştirebilirsiniz.

  1. Hata Ayıklama Konsolu sekmesini seçin.

  2. Hata Ayıklama Konsolu penceresinin en altındaki istemine girin name = "Gracie" ve Enter tuşuna basın.

    Change variable values

  3. Hata Ayıklama Konsolu penceresinin en altına girin currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() ve Enter tuşuna basın.

    Değişkenler penceresinde ve currentDate değişkenlerinin name yeni değerleri görüntülenir.

  4. Araç çubuğundaki Devam düğmesini seçerek program yürütmeye devam edin. Devam etmenin bir diğer yolu da F5 tuşuna basmaktır.

    Continue debugging

  5. Terminal sekmesini yeniden seçin.

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

    Terminal showing the entered values

  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ı 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 (macOS'ta Ctrl tuşunu basılı tutarak tıklayın). Bağlam menüsünde Kesme Noktasını Düzenle'yi seçerek koşullu ifade girmenize olanak tanıyan bir iletişim kutusu açın.

    Breakpoint context menu

  2. Açılan listeden öğesini seçinExpression, aşağıdaki koşullu ifadeyi girin ve Enter tuşuna basın.

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    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 belirtilen sayıda çalıştırılmasından ö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. F5 tuşuna basarak programı hata ayıklama ile başlatın.

  4. Terminal sekmesinde, 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 ve yöntem çalışmadan önce Console.WriteLine durdurulur.

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

  5. Hata Ayıklama Konsolu istemine 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
    
  6. Program yürütmeye devam etmek için araç çubuğundaKi Devam düğmesini seçin.

  7. Terminal sekmesini seçin ve programdan çıkmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.

  8. 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 menüden Kesme Noktasını Çalıştır'ı > seçmektir.

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

Bir programda adım adım ilerleyin

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

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

    Visual Studio Code kesme noktası satırını vurgular.

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

  3. Adımı Çalıştır'ı> seçin veya F11'e basın.

    Step-Into button

    Visual Studio Code sonraki satırı vurgular.

  4. Adımı Çalıştır'ı> seçin veya F11'e basın.

    Visual Studio Code, ad istemi için komutunu Console.WriteLine çalıştırır ve sonraki yürütme satırını vurgular. Sonraki satır için olan satırıdır Console.ReadLine name. Değişkenler penceresi değişmez ve Terminal sekmesinde "Adınız nedir?" istemi gösterilir.

  5. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  6. Terminal sekmesine bir dize girip Enter tuşuna basarak istemi yanıtlar.

    Terminal sekmesi, girdiğiniz dizeyi girdiğiniz sırada görüntülemeyebilir, ancak Console.ReadLine yöntemi girişinizi yakalar.

  7. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  8. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  9. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  10. Dışarı Adım Çalıştır'ı> seçin veya Shift F11'e+ basın.

    Step-Out button

  11. Terminal sekmesini seçin.

    Terminalde "Çıkmak için herhangi bir tuşa basın..."

  12. Programdan çıkmak 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ü, bir uygulamanın davranışını 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 Terminal'i açın ve aşağıdaki komutu çalıştırın:

dotnet run --configuration Release

Ek kaynaklar

Sonraki adımlar

Bu öğreticide Visual Studio Code 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, .NET uygulamalarıyla çalışmak için Visual Studio Code'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 : . NET'in yerleşik derleme yapılandırmaları. 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 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'ı başlatın.

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

Kesme noktası ayarlama

Kesme noktası, kesme noktası içeren satır çalıştırilmeden önce uygulamanın yürütülmesini geçici olarak kesintiye uğratır.

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

  2. Kod penceresinin sol kenar boşluğuna tıklayarak, satırda 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ı F9 tuşuna basmak veya kod satırı seçiliyken menüden Kesme Noktasını Çalıştır'ı>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.

    Breakpoint set

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 biri) veya bir dış terminali kullanabilirsiniz. Bu öğretici için tümleşik terminali kullanırsınız.

  1. Proje klasörü bir .vscode klasörü içerir. .vscode klasöründeki launch.json dosyasını açın.

  2. launch.json dosyasında ayarını console olarak internalConsole integratedTerminaldeğiştirin:

    "console": "integratedTerminal",
    
  3. Değişikliklerinizi kaydedin.

Hata ayıklamayı başlatma

  1. Sol taraftaki menüden Hata Ayıklama simgesini seçerek Hata Ayıklama görünümünü açın.

    Open the Debug tab in Visual Studio Code

  2. Bölmenin üst kısmındaki .NET Core Başlatma (konsol) seçeneğinin yanındaki yeşil oku seçin. Programı hata ayıklama modunda başlatmanın diğer yolları F5 tuşuna basmak veya menüden Hata Ayıklamayı Başlat'ı>seçmekten geçer.

    Start debugging

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

    Select the Terminal tab

  4. Terminal penceresine bir ad istemine yanıt olarak bir dize girin ve Enter tuşuna basın.

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

    Breakpoint hit, showing Locals

Hata Ayıklama Konsolunu kullanma

Hata Ayıklama Konsolu 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 değiştirebilirsiniz.

  1. Hata Ayıklama Konsolu sekmesini seçin.

  2. Hata Ayıklama Konsolu penceresinin en altındaki istemine girin name = "Gracie" ve Enter tuşuna basın.

    Change variable values

  3. Hata Ayıklama Konsolu penceresinin en altına girin currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() ve Enter tuşuna basın.

    Değişkenler penceresinde ve currentDate değişkenlerinin name yeni değerleri görüntülenir.

  4. Araç çubuğundaki Devam düğmesini seçerek program yürütmeye devam edin. Devam etmenin bir diğer yolu da F5 tuşuna basmaktır.

    Continue debugging

  5. Terminal sekmesini yeniden seçin.

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

    Terminal showing the entered values

  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ı 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 (macOS'ta Ctrl tuşunu basılı tutarak tıklayın). Bağlam menüsünde Kesme Noktasını Düzenle'yi seçerek koşullu ifade girmenize olanak tanıyan bir iletişim kutusu açın.

    Breakpoint context menu

  2. Açılan listeden öğesini seçinExpression, aşağıdaki koşullu ifadeyi girin ve Enter tuşuna basın.

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    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 belirtilen sayıda çalıştırılmasından ö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. F5 tuşuna basarak programı hata ayıklama ile başlatın.

  4. Terminal sekmesinde, 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 ve yöntem çalışmadan önce Console.WriteLine durdurulur.

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

  5. Hata Ayıklama Konsolu istemine 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
    
  6. Program yürütmeye devam etmek için araç çubuğundaKi Devam düğmesini seçin.

  7. Terminal sekmesini seçin ve programdan çıkmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.

  8. 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 menüden Kesme Noktasını Çalıştır'ı > seçmektir.

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

Bir programda adım adım ilerleyin

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

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

    Visual Studio Code kesme noktası satırını vurgular.

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

  3. Adımı Çalıştır'ı> seçin veya F11'e basın.

    Step-Into button

    Visual Studio Code sonraki satırı vurgular.

  4. Adımı Çalıştır'ı> seçin veya F11'e basın.

    Visual Studio Code, ad istemi için komutunu Console.WriteLine çalıştırır ve sonraki yürütme satırını vurgular. Sonraki satır için olan satırıdır Console.ReadLine name. Değişkenler penceresi değişmez ve Terminal sekmesinde "Adınız nedir?" istemi gösterilir.

  5. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  6. Terminal sekmesine bir dize girip Enter tuşuna basarak istemi yanıtlar.

    Terminal sekmesi, girdiğiniz dizeyi girdiğiniz sırada görüntülemeyebilir, ancak Console.ReadLine yöntemi girişinizi yakalar.

  7. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  8. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  9. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  10. Dışarı Adım Çalıştır'ı> seçin veya Shift F11'e+ basın.

    Step-Out button

  11. Terminal sekmesini seçin.

    Terminalde "Çıkmak için herhangi bir tuşa basın..."

  12. Programdan çıkmak 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ü, bir uygulamanın davranışını 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 Terminal'i açın ve aşağıdaki komutu çalıştırın:

dotnet run --configuration Release

Ek kaynaklar

Sonraki adımlar

Bu öğreticide Visual Studio Code 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, .NET uygulamalarıyla çalışmak için Visual Studio Code'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 : . NET'in yerleşik derleme yapılandırmaları. 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 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'ı başlatın.

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

Kesme noktası ayarlama

Kesme noktası, kesme noktası içeren satır çalıştırilmeden önce uygulamanın yürütülmesini geçici olarak kesintiye uğratır.

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

  2. Kod penceresinin sol kenar boşluğuna tıklayarak, satırda 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ı F9 tuşuna basmak veya kod satırı seçiliyken menüden Kesme Noktasını Çalıştır'ı>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.

    Breakpoint set

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 biri) veya bir dış terminali kullanabilirsiniz. Bu öğretici için tümleşik terminali kullanırsınız.

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

  2. ayarını olarak console internalConsole integratedTerminaldeğiştirin:

    "console": "integratedTerminal",
    
  3. Değişikliklerinizi kaydedin.

Hata ayıklamayı başlatma

  1. Sol taraftaki menüden Hata Ayıklama simgesini seçerek Hata Ayıklama görünümünü açın.

    Open the Debug tab in Visual Studio Code

  2. Bölmenin üst kısmındaki .NET Core Başlatma (konsol) seçeneğinin yanındaki yeşil oku seçin. Programı hata ayıklama modunda başlatmanın diğer yolları F5 tuşuna basmak veya menüden Hata Ayıklamayı Başlat'ı>seçmekten geçer.

    Start debugging

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

    Select the Terminal tab

  4. Terminal penceresine bir ad istemine yanıt olarak bir dize girin ve Enter tuşuna basın.

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

    Breakpoint hit, showing Locals

Hata Ayıklama Konsolunu kullanma

Hata Ayıklama Konsolu 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 değiştirebilirsiniz.

  1. Hata Ayıklama Konsolu sekmesini seçin.

  2. Hata Ayıklama Konsolu penceresinin en altındaki istemine girin name = "Gracie" ve Enter tuşuna basın.

    Change variable values

  3. Hata Ayıklama Konsolu penceresinin en altına girin currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() ve Enter tuşuna basın.

    Değişkenler penceresinde ve currentDate değişkenlerinin name yeni değerleri görüntülenir.

  4. Araç çubuğundaki Devam düğmesini seçerek program yürütmeye devam edin. Devam etmenin bir diğer yolu da F5 tuşuna basmaktır.

    Continue debugging

  5. Terminal sekmesini yeniden seçin.

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

    Terminal showing the entered values

  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ı 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 (macOS'ta Ctrl tuşunu basılı tutarak tıklayın). Bağlam menüsünde Kesme Noktasını Düzenle'yi seçerek koşullu ifade girmenize olanak tanıyan bir iletişim kutusu açın.

    Breakpoint context menu

  2. Açılan listeden öğesini seçinExpression, aşağıdaki koşullu ifadeyi girin ve Enter tuşuna basın.

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    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 belirtilen sayıda çalıştırılmasından ö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. F5 tuşuna basarak programı hata ayıklama ile başlatın.

  4. Terminal sekmesinde, 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 ve yöntem çalışmadan önce Console.WriteLine durdurulur.

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

  5. Hata Ayıklama Konsolu istemine 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
    
  6. Program yürütmeye devam etmek için araç çubuğundaKi Devam düğmesini seçin.

  7. Terminal sekmesini seçin ve programdan çıkmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.

  8. 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 menüden Kesme Noktasını Çalıştır'ı > seçmektir.

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

Bir programda adım adım ilerleyin

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

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

    Visual Studio Code kesme noktası satırını vurgular.

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

  3. Adımı Çalıştır'ı> seçin veya F11'e basın.

    Step-Into button

    Visual Studio Code sonraki satırı vurgular.

  4. Adımı Çalıştır'ı> seçin veya F11'e basın.

    Visual Studio Code, ad istemi için komutunu Console.WriteLine çalıştırır ve sonraki yürütme satırını vurgular. Sonraki satır için olan satırıdır Console.ReadLine name. Değişkenler penceresi değişmez ve Terminal sekmesinde "Adınız nedir?" istemi gösterilir.

  5. Adımı Çalıştır'ı> seçin veya F11'e basın.

    Visual Studio değişken atamasını name vurgular. Değişkenler penceresi temizlenir.

  6. Terminal sekmesine bir dize girip Enter tuşuna basarak istemi yanıtlar.

    Terminal sekmesi, girdiğiniz dizeyi girdiğiniz sırada görüntülemeyebilir, ancak Console.ReadLine yöntemi girişinizi yakalar.

    Değişkenler penceresi, yöntemine yapılan çağrı Console.ReadLine tarafından döndürülen değeri gösterir.

  7. Adımı Çalıştır'ı> seçin veya F11'e basın.

    Visual Studio Code, değişken atamasını currentDate vurgular. Terminal sekmesinde, istemde girdiğiniz dize görüntülenir.

  8. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  9. Adımı Çalıştır'ı> seçin veya F11'e basın.

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

  10. Dışarı Adım Çalıştır'ı> seçin veya Shift F11'e+ basın.

    Step-Out button

  11. Terminal sekmesini seçin.

    Terminalde "Çıkmak için herhangi bir tuşa basın..."

  12. Programdan çıkmak 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ü, bir uygulamanın davranışını 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 Terminal'i açın ve aşağıdaki komutu çalıştırın:

dotnet run --configuration Release

Ek kaynaklar

Sonraki adımlar

Bu öğreticide Visual Studio Code 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.