Aracılığıyla paylaş


Öğretici: Visual Studio kullanarak Visual Basic kodunda hata ayıklamayı öğrenin

Bu makalede, adım adım izlenecek yolda Visual Studio hata ayıklayıcısının özellikleri tanıtılmaktadır. Hata ayıklayıcısı özelliklerinin daha üst düzey bir görünümünü istiyorsanız bkz. Hata ayıklayıcıya ilk bakış. Uygulamanızda hata ayıkladığınızda, bu genellikle uygulamanızı hata ayıklayıcı ekli olarak çalıştırdığınız anlamına gelir. Bu görevi yaptığınızda, hata ayıklayıcısı kodunuzun çalışırken ne yaptığını görmek için birçok yol sağlar. Kodunuzda adım adım ilerleyebilir ve değişkenlerde depolanan değerlere bakabilir, değerlerin ne zaman değiştiğini görmek için değişkenler üzerinde izlemeler ayarlayabilir, kodunuzun yürütme yolunu inceleyebilir, bir kod dalının çalışıp çalışmadığını görebilir vb. Bu alıştırma ilk kez kod hatalarını ayıklamaya çalıştıysanız, bu makaleye geçmeden önce mutlak yeni başlayanlar için hata ayıklamayı okumak isteyebilirsiniz.

Tanıtım uygulaması Visual Basic olsa da, özelliklerin çoğu C#, C++, F#, Python, JavaScript ve Visual Studio tarafından desteklenen diğer diller için geçerlidir (F# Düzenleme ve devam etme özelliğini desteklemez. F# ve JavaScript OtomatikLer penceresini desteklemez). Ekran görüntüleri Visual Basic'tedir.

Bu kılavuzda aşağıdakileri yapacaksınız:

  • Hata ayıklayıcıyı başlatın ve kesme noktalarına ulaşın.
  • Kodda adım adım ilerlemenizi sağlayacak komutları hata ayıklayıcıda öğrenin
  • Veri ipuçlarında ve hata ayıklayıcı pencerelerinde değişkenleri inceleme
  • Çağrı yığınını inceleme

Önkoşullar

Visual Studio 2019'un yüklü olması ve .NET Core platformlar arası geliştirme iş yükünün yüklü olması gerekir.

Visual Studio'yu henüz yüklemediyseniz ücretsiz yüklemek için Visual Studio indirmeleri sayfasına gidin.

İş yükünü yüklemeniz gerekiyorsa ancak Zaten Visual Studio'nuz varsa Araçlar>Araçları ve Özellikleri Al...'e gidin. Bu, Visual Studio Yükleyicisi'ni açar. Visual Studio Yükleyicisi başlatılır. .NET masaüstü geliştirme iş yükünü seçin ve ardından Değiştir'iseçin.

Proje oluştur

İlk olarak bir .NET Core konsol uygulaması projesi oluşturursunuz. Proje türü, herhangi bir şey eklemeden önce ihtiyacınız olan tüm şablon dosyalarıyla birlikte gelir!

  1. Visual Studio'yu açın. Başlangıç penceresi açık değilse Dosya>Başlangıç Penceresi'ni seçin.

  2. Başlangıç penceresinde Yeni proje oluştur'u seçin.

  1. Yeni proje oluştur penceresinde, arama kutusuna konsol yazın. Ardından, Dil listesinden Visual Basic'i ve ardından Platform listesinden Windows'u seçin.

    Dil ve platform filtrelerini uyguladıktan sonra .NET Core için Konsol Uygulaması şablonunu ve ardından İleri'yi seçin.

    Arama kutusunda 'konsol' ve Dil ve Platform filtreleri için 'Visual Basic' ve 'Windows' seçili yeni proje oluştur penceresini gösteren ekran görüntüsü. Konsol Uygulaması proje şablonu seçilidir.

    Uyarı

    Konsol Uygulaması şablonunu görmüyorsanız, Yeni proje oluştur penceresinden yükleyebilirsiniz. Aradığınızı bulamıyor musunuz? iletisinde Daha fazla araç ve özellik yükle bağlantısını seçin. Ardından Visual Studio Yükleyicisi'nde .NET masaüstü geliştirme iş yükünü seçin.

  2. Yeni projenizi yapılandırın penceresinde, Proje adı kutusuna get-started-debugging yazın. Ardından İleri'yi seçin.

  3. Ek bilgiler penceresinde, Çerçeve açılan menüsünde .NET 8.0'ın seçili olduğundan emin olun ve oluştur'u seçin.

Visual Studio yeni projenizi açar.

Uygulamayı oluşturma

Program.vb'da, varsayılan kodun tümünü aşağıdaki kodla değiştirin:

Imports System

Class ArrayExample
  Public Shared Sub Main()
    Dim letters As Char() = {"f"c, "r"c, "e"c, "d"c, " "c, "s"c, "m"c, "i"c, "t"c, "h"c}
    Dim name As String = ""
    Dim a As Integer() = New Integer(9) {}

    For i As Integer = 0 To letters.Length - 1
      name += letters(i)
      a(i) = i + 1
      SendMessage(name, a(i))
    Next

    Console.ReadKey()
  End Sub

  Private Shared Sub SendMessage(ByVal name As String, ByVal msg As Integer)
    Console.WriteLine("Hello, " & name & "! Count to " & msg)
  End Sub
End Class

Hata ayıklayıcıyı başlatın!

  1. F5 tuşuna basın (Hata Ayıklama > Başlat Hata Ayıklama) veya Hata Ayıklama Araç Çubuğu'ndaki yeşil Hata Ayıklamayı Başlat düğmesini seçin.

    Hata Ayıklama Araç Çubuğu'nu gösteren ve yeşil Hata Ayıklamayı Başlat düğmesinin vurgulandığı ekran görüntüsü.

    F5 , uygulamayı uygulama işlemine eklenmiş hata ayıklayıcıyla başlatır, ancak şu anda kodu incelemek için özel bir şey yapmadık. Böylece uygulama yüklenir ve konsol çıkışını görürsünüz.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    

    Bu öğreticide, hata ayıklayıcısını kullanarak bu uygulamaya daha yakından bakacak ve hata ayıklayıcı özelliklerine göz atacaksınız.

  2. (Shift + F5) tuşlarına basarak hata ayıklayıcıyı durdurun veya Hata Ayıklama Araç Çubuğu'ndaki kırmızı Hata Ayıklamayı Durdur düğmesini seçin.

    Kırmızı Hata Ayıklamayı Durdur düğmesinin vurgulandığı Hata Ayıklama Araç Çubuğu'nu gösteren ekran görüntüsü.

  3. Konsol penceresinde, konsol penceresini kapatmak için bir tuşa basın.

Kesme noktası ayarlama ve hata ayıklayıcıyı başlatma

  1. İşlev döngüsünde ForMain , aşağıdaki kod satırında sol kenar boşluğuna tıklayarak bir kesme noktası ayarlayın:

    name += letters(i)

    Kesme noktasını ayarladığınız yerde kırmızı bir daire görüntülenir.

    Kesme noktaları, güvenilir hata ayıklamanın en temel ve temel özelliklerinden biridir. Kesme noktası, değişkenlerin değerlerine, bellek davranışına veya bir kod dalının çalıştırılıp çalıştırılmadığına bakabilmeniz için Visual Studio'nun çalışan kodunuzu nerede askıya alması gerektiğini gösterir.

  2. Hata Ayıklama Araç Çubuğu'nda F5 (Hata Ayıklama > Başlat Hata Ayıklama) veya Hata Ayıklamayı Başlat düğmesine basın, uygulama başlatılır ve hata ayıklayıcı kesme noktasını ayarladığınız kod satırına kadar çalışır.

    Yürütmenin kesme noktasında durdurulduğu Visual Studio Code düzenleyicisi penceresini gösteren ekran görüntüsü.

    Sarı ok, hata ayıklayıcı tarafından duraklatılan ifadeyi temsil eder ve aynı noktada uygulamanın çalışmasını da askıya alır (bu ifade henüz yürütülmedi).

    Uygulama henüz çalışmıyorsa , F5 hata ayıklayıcıyı başlatır ve ilk kesme noktasında durur. Aksi takdirde F5, uygulamayı sonraki kesme noktasına çalıştırmaya devam eder.

    Kesme noktaları, kod satırını veya kodun ayrıntılı olarak incelemek istediğiniz bölümünü bildiğinizde yararlı bir özelliktir. Koşullu kesme noktaları gibi ayarlayabileceğiniz farklı kesme noktası türleri hakkında bilgi için bkz. Kesme noktalarını kullanma.

Bu makalede, uygulamanızı hata ayıklayıcıda yürütme konusunda hızlı olmak için iyi bir yol olduğundan klavye kısayollarını kullanacağız (menü komutları gibi eşdeğer komutlar parantez içinde gösterilir).

  1. Kod yürütmesi For yöntemindeki Main döngüsünde duraklatıldığında, yöntem çağrısına ilerlemek için iki kez > basın (ya da ).

    F11'e iki kez bastıktan sonra şu kod satırında olmanız gerekir:

    SendMessage(name, a(i))

  2. Yöntemine geçmek için F11 tuşuna SendMessage bir kez daha basın.

    Sarı işaretçi SendMessage yöntemine doğru ilerler.

    Visual Studio Code düzenleyicisinde 'SendMessage' yöntemine adımladıktan sonra yürütmenin duraklatıldığı hata ayıklama oturumunu gösteren ekran görüntüsü.

    F11İçine Gir komutudur ve uygulamanın yürütülmesini adım adım ilerletir. F11 , yürütme akışını en ayrıntılı şekilde incelemenin iyi bir yoludur. (Kodda daha hızlı ilerlemek için size diğer bazı seçenekleri de gösteririz.) Varsayılan olarak, hata ayıklayıcısı kullanıcı olmayan kodu atlar (daha fazla ayrıntı istiyorsanız, bkz. Yalnızca Kodum).

    Yöntemi incelemeyi SendMessage tamamladığınızı ve yöntemden çıkmak istediğinizi, fakat hata ayıklayıcıda kalmaya devam etmek istediğinizi varsayalım. Bunu , Dışarı Adımla komutunu kullanarak yapabilirsiniz.

  3. Shift + F11 tuşuna basın (veya >).

    Bu komut, geçerli yöntem veya işlev dönene kadar uygulama yürütmeyi sürdürür (ve hata ayıklayıcıyı ilerletir).

    For yöntemindeki Main döngüsüne geri dönmeli ve SendMessage yöntem çağrısında duraklatılmalısınız.

  4. Yöntem çağrısına yeniden dönene kadar F11 tuşuna SendMessage birkaç kez basın.

  5. Yöntem çağrısında kod yürütme durdurulduğunda, F10 tuşuna bir kez basın (veya Hata Ayıklama > Adım Üzerine Geç seçeneğini seçin).

    Visual Studio Code editöründe, 'SendMessage' yöntem çağrısının üzerinden adım atıldıktan sonra yürütmenin duraklatıldığı bir Hata Ayıklama oturumunu gösteren ekran görüntüsü.

    Bu kez hata ayıklayıcının SendMessage yöntemine adım atmadığını fark edin. F10 , uygulama kodunuzdaki işlevlere veya yöntemlere adım atmadan hata ayıklayıcıyı ilerletir (kod yine de yürütülür). Yöntem çağrısında SendMessage tuşuna basarak (F11 yerine), uygulama SendMessage kodunu atladık (şu anda ilgilenmemiş olabiliriz). Kodunuz arasında gezinmenin farklı yolları hakkında daha fazla bilgi için bkz.hata ayıklayıcıda kodda gezinme .

  1. Kesme noktasına yeniden ilerlemek için F5 tuşuna basın.

  2. Kod düzenleyicisinde aşağı kaydırın ve Console.WriteLine yönteminin içindeki SendMessage yönteminin üzerine gelin, yeşil Tıklamayla Çalıştır düğmesi görünene kadar bekleyin. Düğmenin araç ipucunda "Yürütmeyi buraya kadar çalıştır" ifadesi gösterilir.

    Kod düzenleyicisi penceresinin sol tarafında araç ipucunun vurgulandığı Tıkla çalıştır düğmesini gösteren ekran görüntüsü.

  3. Tıklayacak Şekilde Çalıştır düğmesini seçin.

    Hata ayıklayıcı Console.WriteLine yöntemine ilerler.

    Bu düğmeyi kullanmak, geçici kesme noktası ayarlamaya benzer. Tıklayarak Çalıştır , uygulama kodunun görünür bir bölgesinde hızla gezinmek için kullanışlıdır (herhangi bir açık dosyada seçebilirsiniz).

Uygulamanızı hızlı bir şekilde yeniden başlatın

Uygulamanızı yeniden başlatmak için Ctrl + Shift + F5 tuş bileşimine basın; bu, uygulamayı durdurmak ve hata ayıklayıcıyı yeniden başlatmak yerine zamandan tasarruf eder. Hata ayıklayıcı, kod yürütülürken karşılaşılan ilk kesme noktasında durur.

Hata ayıklayıcı, döngü içinde daha önce ayarladığınız For kesme noktasında yeniden durur.

Veri ipuçlarıyla değişkenleri inceleme

Değişkenleri incelemenize olanak sağlayan özellikler, hata ayıklayıcının en kullanışlı özelliklerinden biridir ve bunu yapmanın farklı yolları vardır. Genellikle bir sorunun hatalarını ayıklamaya çalıştığınızda, değişkenlerin belirli bir zamanda olmasını beklediğiniz değerleri depolayıp depolamadığını bulmaya çalışırsınız.

  1. Kod yürütme name += letters[i] deyiminde duraklatıldığında, letters değişkeninin üzerine gelin ve varsayılan değeri olan, dizideki ilk öğenin "f"c değerini görün.

  2. Ardından değişkenin üzerine gelin ve değişkenin name geçerli değerini boş bir dize olarak görürsünüz.

  3. Döngüde birkaç kez tekrarlamak için F5 (veya Hata Ayıklama>Devamı) tuşlarına basın, kesme noktasında duraklayın ve değerini kontrol etmek için her seferinde değişkenin For üzerine gelin.

    Kod düzenleyicisinde hata ayıklama yürütmesinin durdurulduğunu ve ad değişkeninin vurgulandığı ve değeri gösteren bir veri ipucunun gösterildiği ekran görüntüsü.

    Değişkenin değeri, For döngüsünün her yinelemesiyle değişir ve fdeğerlerini gösterir, sonra fr, sonra frevb.

    Genellikle, hata ayıklarken değişkenlerdeki özellik değerlerini denetlemek, depolamalarını beklediğiniz değerleri depolayıp depolamadıklarını görmek için hızlı bir yol istersiniz ve veri ipuçları bunu yapmak için iyi bir yoldur.

Otomatik Ve Yerel Ayarlar pencereleriyle değişkenleri inceleme

  1. Kod düzenleyicisinin en altındaki Otomatikler penceresine bakın.

    Kapalıysa, Hata Ayıkla>Pencereleri> menüsünden Otomatikler'i seçerek, hata ayıklayıcıda kod yürütme duraklatılırken açın.

    Otomatikler penceresinde değişkenleri ve geçerli değerlerini görürsünüz. OtomatikLer penceresi geçerli satırda veya önceki satırda kullanılan tüm değişkenleri gösterir (Dile özgü davranış için belgeleri denetleyin).

  2. Ardından, Otomatikler penceresinin yanındaki bir sekmedeki YerelLer penceresine bakın.

  3. değişkenini letters , içerdiği öğeleri gösterecek şekilde genişletin.

    'letters' değişkeninin içerdiği öğelerin değerini ve türünü gösterecek şekilde genişletildi olduğu Yerel Ayarlar Penceresini gösteren ekran görüntüsü.

    Locals penceresi, geçerli kapsamındaki değişkenleriyani geçerli yürütme bağlamını gösterir.

Saat ayarlama

Kodda ilerlerken takip etmek istediğiniz bir değişken veya ifadeyi İzleme penceresine ekleyerek belirtebilirsiniz.

  1. Hata ayıklayıcı duraklatıldığında değişkene name sağ tıklayın ve İzleme Ekle'yi seçin.

    İzleme penceresi varsayılan olarak kod düzenleyicisinin en altında açılır.

  2. Artık name değişkeninde bir saat ayarladığınıza göre, her bir name döngü yinelemesinde for değişkeninin değerinin değiştiğini görmek için kodunuzda adım adım ilerleyin.

    Diğer değişken pencerelerinden farklı olarak, İzle penceresi her zaman izlediğiniz değişkenleri gösterir. Kapsam dışında olan değişkenler kullanılamaz olarak görüntülenir.

Gözcü penceresi hakkında daha fazla bilgi için bkz. Gözcü pencereleri ile değişkenleri izleme.

Çağrı yığınını inceleme

  1. Kod yürütme For döngüsünde duraklatıldığında, sağ alt bölmede varsayılan olarak açık olan Çağrı Yığını penceresini seçin.

    Kapalıysa,Windows>Çağrı Yığınında> seçerek hata ayıklayıcıda kod yürütme duraklatılırken açın.

  2. F11 tuşuna birkaç kez basın ve hata ayıklayıcının SendMessage metodunda durakladığını görün. Çağrı Yığını penceresine bakın.

    Üst satırda SendMessage yöntemi çağrısı vurgulanmış visual studio çağrı yığını penceresini gösteren ekran görüntüsü.

    Çağrı Yığını penceresi, yöntemlerin ve işlevlerin çağrılma sırasını gösterir. Üst satırda geçerli işlev (bu uygulamadaki SendMessage yöntem) gösterilir. İkinci satır, SendMessage'nin Main yönteminden çağrıldığını ve benzeri şekilde devam ettiğini gösterir.

    Uyarı

    Çağrı Yığını penceresi, Eclipse gibi bazı IDE'lerde Debug görünümüne benzer.

    Çağrı yığını, bir uygulamanın yürütme akışını incelemek ve anlamak için iyi bir yoldur.

    Bir kod satırına çift tıklayarak bu kaynak kodu inceleyebilir ve bu da hata ayıklayıcı tarafından denetlenen geçerli kapsamı değiştirebilir. Bu eylem hata ayıklayıcıyı ilerletmez.

    Diğer işlemleri yapmak için Çağrı Yığını penceresinden sağ tıklama menülerini de kullanabilirsiniz. Örneğin, belirtilen işlevlere kesme noktaları ekleyebilir, İmleçte Çalıştır'ı kullanarak hata ayıklayıcıyı ilerletebilir ve kaynak kodu inceleyebilirsiniz. Daha fazla bilgi için Nasıl yapılır: Çağrı Yığınını İnceleme bölümüne bakın.

Yürütme akışını değiştirme

  1. Yöntemini çalıştırmak için F11 tuşuna Console.WriteLine iki kez basın.

  2. Yardımcı program SendMessage yöntem çağrısında duraklatıldığında, fareyi kullanarak sol kenar boşluğundaki sarı oku veya yürütme işaretçisini tutun ve Console.WriteLine deyimine doğru bir satır yukarı sürükleyin.

  3. F11 tuşuna basın.

    Hata ayıklayıcı yöntemini yeniden çalıştırır Console.WriteLine (bu eylemi konsol penceresi çıkışında görürsünüz).

    Yürütme akışını değiştirerek farklı kod yürütme yollarını test etme veya hata ayıklayıcıyı yeniden başlatmadan kodu yeniden çalıştırma gibi işlemler yapabilirsiniz.

    Uyarı

    Genellikle bu özelliğe dikkat etmeniz gerekir ve araç ipucunda bir uyarı görürsünüz. Başka uyarılar da görebilirsiniz. İşaretçiyi taşımak uygulamanızı önceki bir uygulama durumuna geri döndüremez.

  4. Uygulamayı çalıştırmaya devam etmek için F5 tuşuna basın.

    Bu öğreticiyi tamamladığınız için tebrikler!

Sonraki Adımlar

Bu öğreticide hata ayıklayıcıyı başlatmayı, kodda adım adım ilerleyip değişkenleri incelemeyi öğrendiniz. Daha fazla bilgi için bağlantılarla birlikte hata ayıklayıcısı özelliklerine üst düzey bir bakış elde etmek isteyebilirsiniz.