Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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!
Visual Studio'yu açın. Başlangıç penceresi açık değilse Dosya>Başlangıç Penceresi'ni seçin.
Başlangıç penceresinde Yeni proje oluştur'u seçin.
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.
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.
Yeni projenizi yapılandırın penceresinde, Proje adı kutusuna get-started-debugging yazın. Ardından İleri'yi seçin.
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!
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.
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 10Bu öğ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.
(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.
Konsol penceresinde, konsol penceresini kapatmak için bir tuşa basın.
Kesme noktası ayarlama ve hata ayıklayıcıyı başlatma
İş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.
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.
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.
Adım komutlarını kullanarak hata ayıklayıcıda kodda gezinme
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).
Kod yürütmesi
ForyöntemindekiMaindö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))Yöntemine geçmek için F11 tuşuna
SendMessagebir kez daha basın.Sarı işaretçi
SendMessageyöntemine doğru ilerler.
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
SendMessagetamamladığı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.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).
ForyöntemindekiMaindöngüsüne geri dönmeli veSendMessageyöntem çağrısında duraklatılmalısınız.Yöntem çağrısına yeniden dönene kadar F11 tuşuna
SendMessagebirkaç kez basın.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).
Bu kez hata ayıklayıcının
SendMessageyö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ındaSendMessagetuşuna basarak (F11 yerine), uygulamaSendMessagekodunu 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.
Tıkla'ya Çalıştır'ı kullanarak kodda gezinme
Kesme noktasına yeniden ilerlemek için F5 tuşuna basın.
Kod düzenleyicisinde aşağı kaydırın ve
Console.WriteLineyönteminin içindekiSendMessageyö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.
Tıklayacak Şekilde Çalıştır düğmesini seçin.
Hata ayıklayıcı
Console.WriteLineyö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.
Kod yürütme
name += letters[i]deyiminde duraklatıldığında,lettersdeğişkeninin üzerine gelin ve varsayılan değeri olan, dizideki ilk öğenin"f"cdeğerini görün.Ardından değişkenin üzerine gelin ve değişkenin
namegeçerli değerini boş bir dize olarak görürsünüz.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.
Değişkenin değeri,
Fordöngüsünün her yinelemesiyle değişir vefdeğerlerini gösterir, sonrafr, sonrafrevb.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
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).
Ardından, Otomatikler penceresinin yanındaki bir sekmedeki YerelLer penceresine bakın.
değişkenini
letters, içerdiği öğeleri gösterecek şekilde genişletin.
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.
Hata ayıklayıcı duraklatıldığında değişkene
namesağ tıklayın ve İzleme Ekle'yi seçin.İzleme penceresi varsayılan olarak kod düzenleyicisinin en altında açılır.
Artık
namedeğişkeninde bir saat ayarladığınıza göre, her birnamedöngü yinelemesindefordeğ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
Kod yürütme
Fordö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.
F11 tuşuna birkaç kez basın ve hata ayıklayıcının
SendMessagemetodunda durakladığını görün. Çağrı Yığını penceresine bakın.
Ç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
SendMessageyöntem) gösterilir. İkinci satır,SendMessage'ninMainyö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
Yöntemini çalıştırmak için F11 tuşuna
Console.WriteLineiki kez basın.Yardımcı program
SendMessageyö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 veConsole.WriteLinedeyimine doğru bir satır yukarı sürükleyin.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.
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.