Aracılığıyla paylaş


Öğretici: .NET konsol uygulamasında hata ayıklama

Bu öğreticide, Visual Studio'de kullanılabilen hata ayıklama araçları tanıtmaktadır.

Önemli

Tüm klavye kısayolları, Visual Studio varsayılanlarını temel alır. Klavye kısayollarınız farklılık gösterebilir, daha fazla bilgi için bkz. Visual Studio Keyboard kısayolları.

Bu öğreticide, .NET uygulamalarıyla çalışmak için Visual Studio Code'de kullanılabilen hata ayıklama araçları tanıtmaktadır.

Bu öğreticide, GitHub Codespaces'ta .NET uygulamalarla çalışmaya yönelik hata ayıklama araçları tanıtmaktadır.

Önkoşullar

Bu öğretici, bir .NET konsol uygulaması oluştur içinde oluşturduğunuz konsol uygulamasıyla çalışır.

Hata ayıklama derleme yapılandırmasını kullanma

Debug ve Release Visual Studio yerleşik derleme yapılandırmalarıdır. Hata ayıklamak için Debug derleme yapılandırmasını ve son dağıtım için Sürüm yapılandırmasını kullanırsınız.

Hata ayıklama yapılandırmasında, bir program tam sembolik hata ayıklama bilgileriyle derlenir ve optimizasyon yapılmaz. Kaynak kodu ve oluşturulan yönergeler arasındaki ilişki daha karmaşık olduğundan iyileştirme hata ayıklamayı karmaşıklaştırır. Bir programın yayın yapılandırması sembolik hata ayıklama bilgilerine sahip değildir ve tamamen iyileştirilmiştir.

Varsayılan olarak, Visual Studio Hata Ayıklama derleme yapılandırmasını kullanır, bu nedenle hata ayıklamadan önce değiştirmeniz gerekmez.

  1. Visual Studio'ı başlatın.

  2. Oluşturduğunuz projeyi .NET konsol uygulaması oluşturun'da 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 uygulamanın Hata Ayıklama sürümünü derlemek için yapılandırıldığı gösterilmektedir:

    Visual Studio araç çubuğunda hata ayıklama vurgulanmış

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. Satırdaki kod penceresinin sol kenar boşluğuna tıklayarak adı, tarihi ve saati görüntüleyen bir kesme noktası ayarlayın. Sol kenar boşluğu, satır numaralarının solundadır. Kesme noktası ayarlamanın diğer yolları, imleci kod satırına getirip F9 tuşuna basmak veya menü çubuğundan Hata AyıklamaKesme Noktası seçmektir.

    Aşağıdaki resimde gösterildiği gibi Visual Studio, kesme noktasının ayarlandığı çizgiyi vurgulayarak ve sol kenar boşluğunda kırmızı bir nokta görüntüleyerek gösterir.

    Kesme noktası ayarlanmış Visual Studio Program penceresi

  2. Programı Hata Ayıklama modunda çalıştırmak için F5 basın. Hata ayıklamayı başlatmanın bir diğer yolu da menüden Hata AyıklamaHata Ayıklamayı Başlat seçmektir.

  3. Program bir ad istedikten sonra konsol penceresine bir metin girin ve Enter tuşunabasın.

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

    Visual Studio'daki kesme noktasının ekran görüntüsü

  1. Visual Studio Code'ı başlatın.

  2. .NET konsol uygulaması oluşturun.

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

  4. 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üdenKesme Noktasını seçmektir.

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

    Kesme noktası kümesi

  1. GitHub Codespace'inizi .NET konsol uygulaması oluşturun adımında oluşturduğunuz şekilde açın.

  2. HelloWorld.cs dosyasını açın.

  3. 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. Ayrıca, kod satırı seçiliyken F9 tuşuna basarak kesme noktası da ayarlayabilirsiniz.

    Kesme noktası kümesi

Hata ayıklamayı başlatma

Program yürütmesi, önceki bölümde açıklandığı gibi kesme noktasına ulaştığında durdurulur. Locals penceresi, şu anda yürütülmekte olan yöntemde tanımlanan değişkenlerin değerlerini görüntüler.

Debug ve Release .NET yerleşik derleme yapılandırmalarıdır. Hata ayıklamak için Debug derleme yapılandırmasını ve son dağıtım için Sürüm yapılandırmasını kullanırsınız.

Varsayılan olarak, başlatma ayarları Visual Studio Code Hata ayıklama derleme yapılandırmasını kullanır, bu nedenle hata ayıklamadan önce değiştirmeniz gerekmez.

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

    Visual Studio Code'da Hata Ayıklama sekmesini açın

  2. Çalıştır ve Hata Ayıkla seçeneğini seçin. İstenirse C# öğesini ve ardından C#: Başlangıç projesini başlat'ı seçin. Programı hata ayıklama modunda başlatmanın diğer yolları F5 tuşuna basmak veya menüdenHata Ayıklamayı seçmekten geçer.

    Hata ayıklamayı başlatma

  3. Eğer Başlatma Yapılandırmasını Seç seçeneği sorulursa, C#: Aktif Dosyayı Hata Ayıkla seçeneğini seçin.

  4. Programın yanıt beklemeden önce görüntülediği "Adınız nedir?" istemini görmek için Hata Ayıklama Konsolu sekmesini seçin.

    Hata Ayıklama Konsolu sekmesini seçin

  5. Hata Ayıklama Konsolu penceresine bir ad istemine yanıt olarak bir dize girin ve Enter tuşuna basın.

    Programın yürütülmesi, kesme noktasına ulaştığında ve yöntemi çalıştırılmadan önce 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.

    Kesme noktası isabeti, Yerel ayarlar gösteriliyor

Varsayılan olarak, GitHub Codespaces Hata Ayıklama derleme yapılandırmasını kullanır, bu nedenle hata ayıklamadan önce değiştirmeniz gerekmez.

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

    Visual Studio Code'de Hata Ayıklama sekmesini açın

  2. Çalıştır ve Hata Ayıkla seçeneğini seçin. İstenirse hata ayıklayıcı olarak C# öğesini ve ardından Başlat Yapılandırması olarak C#: Etkin Dosyada Hata Ayıklama'yı seçin.

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

  4. Hata Ayıklama Konsolu penceresine bir ad istemine yanıt olarak bir dize girin ve Enter tuşuna basın.

    Programın yürütülmesi, kesme noktasına ulaştığında ve yöntemi çalıştırılmadan önce 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.

    Kesme noktası isabeti, Yerel ayarlar gösteriliyor

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. Immediate penceresi görünmüyorsa, Debug>Windows>Immediate öğesini seçerek görüntüleyin.

  2. Anında penceresine girin ve Enter tuşuna basın.

  3. Anında penceresine girin ve Enter tuşuna basın.

    Anında penceresi, dize değişkeninin değerini ve değerinin özelliklerini görüntüler. Ayrıca, değişkenlerin değerleri Locals penceresinde güncelleştirilir.

    Visual Studio'da Yereller ve Anlık Pencereler

  4. Program yürütmeye devam etmek için F5 basın. Devam etmenin bir diğer yolu da menüden DebugDevam seçerek devam etmektir.

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

  5. Uygulamadan çıkmak ve hata ayıklamayı durdurmak için herhangi bir tuşa basın.

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. penceresinin en altındaki istemine girin ve Enter tuşuna basın.

    Değişken değerlerini değiştirme

  3. penceresinin en altına girin ve Enter tuşuna basın.

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

  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.

    Hata ayıklamaya devam et

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

    Girilen değerleri gösteren terminal

  5. Uygulamadan çıkmak ve hata ayıklamayı durdurmak için Enter tuşuna basın.

Koşullu kesme noktası ayarlama

Program, kullanıcının girdiği dizeyi görüntüler. Kullanıcı herhangi bir şey girmezse ne olur? Bunu koşullu kesme noktasıadlı yararlı bir hata ayıklama özelliğiyle test edebilirsiniz.

  1. Kesme noktasını temsil eden kırmızı noktaya sağ tıklayın. Bağlam menüsünde Koşullar'ni seçerek Kesme Noktası Ayarları iletişim kutusunu açın. Koşulları kutusunu, seçili değilse, seçin.

    Kesme noktası ayarları panelini gösteren Düzenleyicisi - C#

  2. Koşullu İfade için metin alanına aşağıdaki kodu girin.

    string.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    Kesme noktasına her isabet edildiğinde, hata ayıklayıcı metodunu çağırır ve yalnızca metod çağrısı döndürdüğünde bu satırda durur.

    Koşullu ifade yerine, isabet sayısıbelirtebilirsiniz. Bu sayı, bir deyimin belirtilen sayıda yürütülmesinden önce program yürütmeyi kesintiye uğratır. Bir diğer seçenek debir filtre koşulu belirtmektir. Bu koşul, iş parçacığı tanımlayıcısı, işlem adı veya iş parçacığı adı gibi özniteliklere göre program yürütmeyi kesintiye uğratır.

  3. İletişim kutusunu kapatmak için "Kapat" seçin.

  4. F5tuşlarına 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 ( veya ) karşılandığından, program yürütme kesme noktasına ulaştığında ve yöntemi yürütülmeden önce durdurulur.

  7. Şu anda yürütülen yöntemde yerel olan değişkenlerin değerlerini gösteren Locals penceresini seçin. Bu durumda, şu anda yürütülmekte olan yöntemdir. değişkeninin değerinin veya olduğunu gözlemleyin.

  8. Anında penceresine aşağıdaki deyimi girip enterbasarak değerin boş bir dize olduğunu onaylayın. Sonuç 'dır.

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

    Soru işareti, anlık pencereye bir ifadeyi değerlendirmesiiçin komut verir.

    C# deyimi yürütüldükten sonra Anlık Pencere "true" değerini döndürür.

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

  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.

    Kesme noktası bağlam menüsü

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

    String.IsNullOrEmpty(name)
    

    Koşullu ifade girme

    Kesme noktasına her isabet edildiğinde, hata ayıklayıcı metodunu çağırır ve yalnızca metod çağrısı döndürdüğünde bu satırda durur.

    Koşullu ifade yerine, bir deyimin belirtilen sayıda çalıştırılmasından önce program yürütmesini durduran bir isabet sayısı belirtebilirsiniz. Bir diğer seçenek debir filtre koşulu belirtmektir. Bu koşul, iş parçacığı tanımlayıcısı, işlem adı veya iş parçacığı adı gibi özniteliklere göre program yürütmeyi kesintiye uğratır.

  3. F5tuşlarına basarak programı hata ayıklama ile başlatın.

  4. Hata Ayıklama Konsolu sekmesinde, adınızı girmeniz istendiğinde Enter tuşuna basın.

    Belirttiğiniz koşul ( veya ) karşılandığından, program yürütme kesme noktasına ulaştığında ve yöntem çalışmadan önce durdurulur.

    Değişkenler penceresi değişkeninin değerinin veya olduğ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ç 'dır.

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

  7. Programdan çıkmak ve hata ayıklamayı durdurmak için Enter tuşuna 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 ayrıca bir program boyunca satır satır adım 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. Kod satırında "Adınız nedir?" istemini görüntüleyen bir kesme noktası ayarlayın.

  2. Hata AyıklamaAdımlaseçin. Bir kerede bir deyimin hatalarını ayıklamanın başka bir yolu da F11tuşuna basmaktır.

    Visual Studio bir sonraki yürütme satırının yanında bir ok vurgular ve görüntüler.

    Visual Studio yöntemine adım - C#

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

  3. F11 tuşuna basın. Visual Studio, name değişken atamasını içeren deyimi vurgular. Locals penceresinde ve konsol penceresinde "Adınız nedir?" dizesi görüntülenir.

  4. Konsol penceresine bir dize girerek ve Entertuşuna basarak istemi yanıtlar. Konsol yanıt vermiyor ve girdiğiniz dize konsol penceresinde görüntülenmez, ancak yöntemi yine de girişinizi yakalar.

  5. F11 tuşuna basın. Visual Studio, currentDate değişken atamasını içeren deyimi vurgular. Locals penceresi, yöntemine yapılan çağrı tarafından döndürülen değeri gösterir. Konsol penceresinde, istemde girdiğiniz dize de görüntülenir.

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

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

  8. Hata AyıklaAdım Dışarıseçin. Adım adım yürütmeyi durdurmanın bir diğer yolu da ShiftF11tuşlarına 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.

Visual Studio Code ayrıca bir program boyunca satır satır adım 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. Kod satırında "Adınız nedir?" istemini görüntüleyen bir kesme noktası ayarlayın.

  2. Hata ayıklamayı başlatmak için F5 tuşuna basın.

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

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

  3. Debug araç çubuğundan İçine Gir seçeneğini seçin veya F11 tuşuna basın.

    Step-Into düğmesi

    Visual Studio Code sonraki satırı vurgular.

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

  5. Adım Adım Gir'i seçin veya F11 tuşuna basın.

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

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

    Hata Ayıklama Konsolu sekmesi, siz girdiğiniz dizeyi görüntülemeyebilir, ancak yöntemi girişinizi yakalar.

  7. Adım Adım Gir'i seçin veya F11 tuş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. Terminal sekmesinde, istemde girdiğiniz dize görüntülenir.

  8. Adım Adım Gir'i seçin veya F11 tuşuna basın.

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

  9. Adım Adım Gir'i seçin veya F11 tuşuna basın.

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

  10. Dışarı Adımla'ya tıklayın veya ShiftF11 tuşuna basın.

    Step-Out düğmesi

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

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

Yayın derleme yapılandırmasını kullanın

Uygulamanızın Hata Ayıklama sürümünü test ettikten sonra Yayın sürümünü de derleyip test etmelisiniz. Yayın sürümü, bazen bir uygulamanın davranışını olumsuz etkileyebilecek derleyici iyileştirmeleri içerir. Örneğin, performansı geliştirmek için tasarlanmış derleyici iyileştirmeleri, çok iş parçacıklı uygulamalarda yarış koşulları oluşturabilir.

Konsol uygulamanızın Yayın sürümünü derlemek ve test etmek için, araç çubuğundaki derleme yapılandırmasını Hata Ayıklama'dan Yayın'e değiştirin.

varsayılan Visual Studio araç çubuğunda yayın vurgulanmış

F5 tuşlarına bastığınızda veya Build menüsünden Build Çözümü'i 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.

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

Konsol uygulamanızın Yayın sürümünü derlemek ve test etmek için terminalde aşağıdaki komutu çalıştırın:

dotnet run --configuration Release HelloWorld.cs

Sonraki Adımlar

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