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. Visual Studio hata ayıklayıcısına genel 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 ilerleyin ve değişkenlerde depolanan değerlere bakın.
  • Değerlerin ne zaman değiştiğini görmek için değişkenler üzerinde izlemeler ayarlayın.
  • Kod dalının çalışıp çalışmadığını görmek için kodunuzun yürütme yolunu inceleyin.

Bu alıştırma ilk kez kod hatalarını ayıklamaya çalıştıysanız, mutlak yeni başlayanlar için hata ayıklamayı okumak isteyebilirsiniz.

Bu makaledeki tanıtım uygulaması Visual Basic'i kullansa da, özelliklerin çoğu C#, C++, F#, Python, JavaScript ve Visual Studio tarafından desteklenen diğer diller için geçerlidir. F# Düzenle ve devam et'i desteklemez. F# ve JavaScript OtomatikLer penceresini desteklemez . Ekran görüntüleri Visual Basic'tedir.

Bu eğitimde, siz:

  • Hata ayıklayıcıyı başlatın ve kesme noktalarına bası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

.NET Core platformlar arası geliştirme iş yükü de dahil olmak üzere Visual Studio'yu yüklemiş olmanız gerekir.

  • Visual Studio'yu yüklemeniz gerekiyorsa, ücretsiz sürüm için bkz. Visual Studio indirmeleri.
  • İş 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. .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şturun. 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.

  3. Yeni proje oluştur penceresindeki 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' ile Konsol Uygulaması proje şablonunun seçili olduğu Yeni proje oluştur penceresini gösteren ekran görüntüsü.

    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.

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

  5. Ek bilgiler penceresinde Framework için.NET 10.0'ın seçildiğinden emin olun ve oluştur'u seçin.

  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.

  3. Yeni proje oluştur penceresindeki 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.

    Visual Studio 2022'de arama kutusunda 'konsol' ve Dil ve Platform filtreleri için 'Visual Basic' ve 'Windows' ile Konsol Uygulaması proje şablonunun seçili olduğu Yeni proje oluştur penceresini gösteren ekran görüntüsü.

    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.

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

  5. Ek bilgi penceresinde Framework için.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'de, 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. Şu ana kadar kodu incelemek için özel bir şey yapmadınız. Uygulama yalnızca 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ı, Visual Studio'nun çalışan kodunuzu nerede askıya aldığı gösterir. Askıya alınmış durumdayken değişkenlerin değerlerine veya belleğin davranışına bakabilirsiniz. Kod dalının çalışıp çalışmadığını görebilirsiniz.

  2. Hata Ayıklama Araç Çubuğu'nda F5 (Hata Ayıklamayı 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ının durdurduğu deyimi temsil eder ve uygulamanın çalışmasını da aynı noktada 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. Farklı kesme noktası türleri hakkında bilgi için bkz. Kesme noktalarını kullanma.

Hata ayıklayıcıda uygulamanızı hızlı bir şekilde yürütmek için iyi bir yol olduğundan, bu makalede klavye kısayolları kullanılır. Menü komutları gibi eşdeğer komutları parantez içinde gösterir.

  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. Uygulama yürütme işlemini bir seferde bir ifadeyle ilerletir. F11 , yürütme akışını en ayrıntılı şekilde incelemenin iyi bir yoludur. Varsayılan olarak, hata ayıklayıcısı kullanıcı olmayan kodu atlar. Daha fazla bilgi için bkz. Just My Code.

    SendMessage yöntemini tamamladığınızı ve yöntemden çıkmak, ancak debugger'da kalmak istediğinizi varsayalım. Bunu , Dışarı Adımla komutunu kullanarak yapabilirsiniz.

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

    Bu komut uygulama yürütmeyi sürdürür ve geçerli yöntem veya işlev dönene kadar 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ı SendMessage yöntemine adım atmıyor. F10 , uygulama kodunuzda işlevlere veya yöntemlere adım atmadan hata ayıklayıcıyı ilerletir. Kod hala yürütülür. F11 yerine yöntem çağrısında SendMessageF10 tuşuna basarak için SendMessageuygulama kodunu atlamış olursunuz. 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 burada çalıştır 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 , herhangi bir açık dosyada seçebileceğiniz görünür bir uygulama kodu bölgesinde hızla gezinmek için kullanışlıdır.

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. Uygulamayı durdurmak ve hata ayıklayıcıyı yeniden başlatmak yerine zamandan tasarruf sağlar. 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

Hata ayıklayıcı, değişkenleri incelemenize olanak sağlayan özelliklere sahiptir. Değişkenleri incelemenin 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 değişken letters üzerine gelin. Varsayılan değerini, dizideki "f"cilk öğenin değerini görürsünüz.

  2. Ardından değişkenin name üzerine gelerek boş bir dize olan geçerli değerini görebilirsiniz.

  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, kodda hata ayıklarken, değişkenlerin depolamasını beklediğiniz değerleri depolayıp depolamadıklarını görmek için değişkenlerdeki özellik değerlerini denetlemenin hızlı bir yolunu istersiniz. 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ış belgelerine bakın.

  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 gösterilir. Bu örnekte, SendMessage yöntemidir. İ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ı programlama araçlarında Hata Ayıklama perspektifine 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. Hata ayıklayıcı SendMessage yöntem çağrısında duraklarken, sol kenar boşluğundaki sarı oku veya yürütme işaretçisini almak için fareyi kullanın ve işaretçiyi Console.WriteLine deyimine bir satır yukarı sürükleyin.

  3. F11 tuşuna basın.

    Hata ayıklayıcı, Console.WriteLine yöntemini yeniden çalıştırır. 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 edebilir veya hata ayıklayıcıyı yeniden başlatmadan kodu yeniden çalıştırabilirsiniz.

    Uyarı

    Genellikle bu özelliğe dikkat etmeniz gerekir. Araç ipucunda bir uyarı var. 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!

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.