Öğ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
- Bu öğretici, Visual Studio Code kullanarak bir .NET konsol uygulaması oluşturmabölümünde oluşturduğunuz konsol uygulamasıyla birlikte kullanılır.
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.
Visual Studio Code’u başlatın.
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.
Program. cs dosyasını açın.
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.
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.
.vscode/launch.json dosyasını açın.
consoleAyarınıinternalConsoleolarak değiştirinintegratedTerminal:"console": "integratedTerminal",Yaptığınız değişiklikleri kaydedin.
Hata ayıklamayı Başlat
Sol taraftaki menüdeki hata ayıklama simgesini seçerek hata ayıklama görünümünü açın.
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.
"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.
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.
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.
Hata ayıklama konsolu sekmesini seçin.
name = "Gracie"Hata ayıklama konsolu penceresinin en altındaki Istemine yazın ve ENTER tuşuna basın.
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
namecurrentDate.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.
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.
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.
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.
ExpressionAçılan kutudan seçim yapın, aşağıdaki koşullu ifadeyi girin ve ENTERtuşuna basın.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ı kesertrue.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.
F5'e basarak programı hata ayıklama ile başlatın.
Adınızı girmeniz istendiğinde, Terminal sekmesinde ENTER tuşuna basın.
Belirttiğiniz koşul (
nameveya ya danullString.Empty ) karşılandığından, program yürütmesi kesme noktasına ulaştığında ve Yöntem çalıştırılmadan önce durduktan sonra duraklarConsole.WriteLine.Değişkenler penceresi
name, değişkeninin değerinin veya olduğunu gösterir""String.Empty .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.EmptyProgram yürütmeye devam etmek için araç çubuğundaki devam düğmesini seçin.
Terminal sekmesini seçin ve herhangi bir tuşa basarak programdan çıkın ve hata ayıklamayı durdurun.
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 >.
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.
Metodun açılış küme ayracı üzerinde bir kesme noktası ayarlayın
Main.Hata ayıklamaya başlamak için F5'e basın.
Visual Studio Code kesme çizgisi çizgisini vurgular.
Bu noktada, değişkenler penceresi
argsdizinin boş olduğunu venamecurrentDatevarsayılan değerlere sahip olduğunu gösterir.Adımla Çalıştır' ı seçin > veya F11tuşuna basın.
Visual Studio Code sonraki satırı vurgular.
Adımla Çalıştır' ı seçin > veya F11tuşuna basın.
Visual Studio Code,
Console.WriteLinead istemi için öğesini çalıştırır ve sonraki yürütme satırını vurgular. Sonraki satır,Console.ReadLineiçindirname. Değişkenler penceresi değiştirilmez ve Terminal sekmesi "adınız nedir?" olarak gösterilir. isteme.Adımla Çalıştır' ı seçin > veya F11tuşuna basın.
Visual Studio,
namedeğişken atamasını vurgular. Değişkenler penceresi hala olduğunu gösterirnamenull.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.
Adımla Çalıştır' ı seçin > veya F11tuşuna basın.
Visual Studio Code,
currentDatedeğ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.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 .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.
Çalışma adımını Çalıştır' ı seçin > veya SHIFT + F11tuşuna basın.
Terminal sekmesini seçin.
Terminal "çıkmak için herhangi bir tuşa basın..." şeklinde görüntülenir.
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
- Bu öğretici, Visual Studio Code kullanarak bir .NET konsol uygulaması oluşturmabölümünde oluşturduğunuz konsol uygulamasıyla birlikte kullanılır.
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.
Visual Studio Code’u başlatın.
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.
Program. cs dosyasını açın.
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.
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.
.vscode/launch.json dosyasını açın.
consoleAyarınıinternalConsoleolarak değiştirinintegratedTerminal:"console": "integratedTerminal",Yaptığınız değişiklikleri kaydedin.
Hata ayıklamayı Başlat
Sol taraftaki menüdeki hata ayıklama simgesini seçerek hata ayıklama görünümünü açın.
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.
"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.
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.
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.
Hata ayıklama konsolu sekmesini seçin.
name = "Gracie"Hata ayıklama konsolu penceresinin en altındaki Istemine yazın ve ENTER tuşuna basın.
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
namecurrentDate.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.
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.
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.
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.
ExpressionAçılan kutudan seçim yapın, aşağıdaki koşullu ifadeyi girin ve ENTERtuşuna basın.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ı kesertrue.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.
F5'e basarak programı hata ayıklama ile başlatın.
Adınızı girmeniz istendiğinde, Terminal sekmesinde ENTER tuşuna basın.
Belirttiğiniz koşul (
nameveya ya danullString.Empty ) karşılandığından, program yürütmesi kesme noktasına ulaştığında ve Yöntem yürütülmeden önce durduktan sonra duraklarConsole.WriteLine.Değişkenler penceresi
name, değişkeninin değerinin veya olduğunu gösterir""String.Empty .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
Program yürütmeye devam etmek için araç çubuğundaki devam düğmesini seçin.
Terminal sekmesini seçin ve herhangi bir tuşa basarak programdan çıkın ve hata ayıklamayı durdurun.
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 >.
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.
Metodun açılış küme ayracı üzerinde bir kesme noktası ayarlayın
Main.Hata ayıklamaya başlamak için F5'e basın.
Visual Studio Code kesme çizgisi çizgisini vurgular.
Bu noktada, değişkenler penceresi
argsdizinin boş olduğunu venamecurrentDatevarsayılan değerlere sahip olduğunu gösterir.Adımla Çalıştır' ı seçin > veya F11tuşuna basın.
Visual Studio Code sonraki satırı vurgular.
Adımla Çalıştır' ı seçin > veya F11tuşuna basın.
Visual Studio Code,
Console.WriteLinead istemi için öğesini yürütür ve sonraki yürütme satırını vurgular. Sonraki satır,Console.ReadLineiçindirname. Değişkenler penceresi değiştirilmez ve Terminal sekmesi "adınız nedir?" olarak gösterilir. isteme.Adımla Çalıştır' ı seçin > veya F11tuşuna basın.
Visual Studio,
namedeğişken atamasını vurgular. Değişkenler penceresi hala olduğunu gösterirnamenull.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.
Adımla Çalıştır' ı seçin > veya F11tuşuna basın.
Visual Studio Code,
currentDatedeğ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.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 .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.
Çalışma adımını Çalıştır' ı seçin > veya SHIFT + F11tuşuna basın.
Terminal sekmesini seçin.
Terminal "çıkmak için herhangi bir tuşa basın..." şeklinde görüntülenir.
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.