Öğretici: Visual Studio kullanarak C# 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ı özelliklerinin daha üst düzey bir görünümünü istiyorsanız, bkz . İlk olarak hata ayıklayıcıya bakma. 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ı C# olsa da, özelliklerin çoğu C++, Visual Basic, 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 C# dilindedir.
Bu öğreticide şunları yapacaksınız:
- Hata ayıklayıcıyı başlatın ve kesme noktalarına basın.
- Hata ayıklayıcıda kodda adım adım ilerleyecek komutları öğ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 2022'nin yüklü olması ve .NET masaüstü geliştirme iş yükünün yüklü olması gerekir.
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 Visual Studio indirmeleri sayfasına giderek ücretsiz yükleyin.
İş yükünü yüklemeniz gerekiyorsa ancak Visual Studio'nuz zaten varsa Araçlar>Araçları ve Özellikleri Al...'e gidin ve bu da Visual Studio Yükleyicisi açar. Visual Studio Yükleyicisi başlatılır. .NET Core platformlar arası geliştirme iş yükünü ve ardından Değiştir'i seçin.
Visual Studio'nuz zaten varsa ancak .NET masaüstü geliştirme iş yükü yüklü değilse, Visual Studio Yükleyicisi başlatan Araçlar>Araçları ve Özellikleri Al...'e gidin. Visual Studio Yükleyicisi .NET masaüstü geliştirme iş yükünü ve ardından Değiştir'i seçin.
Bir 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 C# öğesini seçin 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.
Not
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 .NET Core platformlar arası geliştirme iş yükünü seçin.
Yeni projenizi yapılandırın penceresinde Proje adı kutusuna GetStartedDebuggingyazın. Ardından İleri'yi seçin.
Önerilen hedef çerçeveyi (.NET 8.0 veya Uzun vadeli destek) ve ardından Oluştur'u seçin.
Yeni proje oluştur penceresinde, arama kutusuna konsol yazın. Ardından, Dil listesinden C# öğesini seçin ve ardından Platform listesinden Windows'u seçin.
Dil ve platform filtrelerini uyguladıktan sonra Konsol Uygulaması şablonunu ve ardından İleri'yi seçin.
Not
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 .NET masaüstü geliştirme iş yükünü seçin.
Yeni projenizi yapılandırın penceresinde Proje adı kutusuna GetStartedDebuggingyazı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.cs dosyasında, varsayılan kodun tümünü aşağıdaki kodla değiştirin:
using System;
class ArrayExample
{
static void Main()
{
char[] letters = { 'f', 'r', 'e', 'd', ' ', 's', 'm', 'i', 't', 'h'};
string name = "";
int[] a = new int[10];
for (int i = 0; i < letters.Length; i++)
{
name += letters[i];
a[i] = i + 1;
SendMessage(name, a[i]);
}
Console.ReadKey();
}
static void SendMessage(string name, int msg)
{
Console.WriteLine("Hello, " + name + "! Count to " + msg);
}
}
Hata ayıklayıcıyı başlatın!
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.
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 bu 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.
Kırmızı durdurma düğmesine (Shift + F5) basarak hata ayıklayıcıyı durdurun.
Konsol penceresinde, konsol penceresini kapatmak için bir tuşa basın.
Çoğunlukla burada klavye kısayollarını kullanırız çünkü bu, hata ayıklayıcı komutlarını yürütmenin hızlı bir yoludur. Araç çubuğu veya menü komutları gibi eşdeğer komutlar da not edilir.
Hata ayıklayıcıyı başlatmak için F5'i seçin veya Standart araç çubuğunda Hedefte Hata Ayıkla düğmesini seçin ya da Hata Ayıklama araç çubuğunda Hata Ayıklamayı Başlat düğmesini veya menü çubuğundan Hata Ayıklamayı Başlat Hata Ayıklama'yı> seçin.
F5 , uygulamayı uygulama işlemine eklenmiş hata ayıklayıcıyla başlatır. Kodu incelemek için özel bir işlem yapmadığımız için uygulama tamamlanmaya kadar çalışır 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
Hata ayıklayıcıyı durdurmak için Shift+F5 tuşlarına basın veya Hata Ayıklama araç çubuğunda Hata Ayıklamayı Durdur düğmesini veya menü çubuğundan Hata Ayıklamayı> Durdur'u seçin.
Konsol penceresinde, konsol penceresini kapatmak için herhangi bir anahtarı seçin.
Kesme noktası ayarlama ve hata ayıklayıcıyı başlatma
İşlev döngüsünde
for
Main
, 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.
F5'e 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ının duraklatıldığı deyimi temsil eder ve aynı noktada uygulama yürütmeyi de askıya alır (bu deyim 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.
İşlev döngüsünde
for
Main
, 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 temel özelliklerinden biridir. Değişkenlerin değerlerine veya belleğin davranışına bakabilmek veya bir kod dalının çalıştırılıp çalıştırılmadığını bilmek için Visual Studio'nun çalışan kodunuzu duraklatmasını istediğiniz kesme noktaları ayarlayabilirsiniz.
Hata ayıklamaya başlamak için F5'i seçin veya Standart araç çubuğunda Hedefte Hata Ayıkla düğmesini seçin ya da Hata Ayıklama araç çubuğunda Hata Ayıklamayı Başlat düğmesini veya menü çubuğundan Hata Ayıklamayı>Başlat Hata Ayıklama'yı seçin. 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ının duraklatıldığı deyimi gösterir. Uygulama yürütme, deyimi henüz yürütülmemiş şekilde aynı noktada duraklatılır.
Uygulama çalışmadığında F5, ilk kesme noktasına ulaşana kadar uygulamayı çalıştıran hata ayıklayıcıyı başlatır. Uygulama bir kesme noktasında duraklatılırsa F5, sonraki kesme noktasına ulaşana kadar uygulamayı çalıştırmaya devam eder.
Kesme noktaları, ayrıntılı olarak incelemek istediğiniz kod satırını veya bölümünü bildiğinizde yararlı bir özelliktir. Koşullu kesme noktaları gibi ayarlayabileceğiniz farklı kesme noktası türleri hakkında daha fazla bilgi için bkz . Kesme noktalarını kullanma.
Veri ipuçlarını kullanarak kodda gezinme ve verileri inceleme
Çoğunlukla burada klavye kısayollarını kullanırız çünkü uygulamanızı hata ayıklayıcıda yürütme konusunda hızlı bir yöntemdir (menü komutları gibi eşdeğer komutlar parantez içinde gösterilir).
Kod yürütme deyiminde
name += letters[i]
duraklatılırken değişkeninletters
üzerine gelin ve varsayılan değeri olan dizidekichar[10]
ilk öğenin değerini görürsünüz.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.
Değişkenin
letters
içerdiği tüm öğeleri içeren özelliklerini görmek için değişkeni genişletin.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.Yöntem çağrısına ilerlemek için F10 tuşuna iki kez basın (veya Hata Ayıkla > Adım Üzerinde'yi seçin) ve ardından F10'a
SendMessage
bir kez daha basın.F10, uygulama kodunuzda işlevlere veya yöntemlere geçmeden hata ayıklayıcıyı sonraki deyime ilerler (kod yürütülmeye devam eder). Yöntem çağrısında
SendMessage
F10'a basarak uygulama kodunuSendMessage
atladık (şu anda ilgilenmemiş olabiliriz).Döngüde
for
birkaç kez yinelemek, kesme noktasında yeniden duraklatmak ve değerini denetlemek için her seferinde değişkeninname
üzerine gelmek için F10 tuşuna (veya Hata Ayıklama>Adımı üzerinde) birkaç kez basın.Değişkenin değeri döngünün her yinelemesiyle
for
değişir ve ardından ,fr
fre
ve gibi değerlerinif
gösterir. Bu senaryoda hata ayıklayıcıyı döngüde daha hızlı ilerletmek için F5 tuşuna basabilirsiniz (veya Devam Hatalarını Ayıkla'yı>seçebilirsiniz), bu da sizi sonraki deyim yerine kesme noktasına ilerler.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.
Kod yürütme yöntemindeki
for
döngüde duraklatılmış olarak kalırken, yöntem çağrısındaMain
duraklatana kadar F11 tuşuna basın (veya Hata Ayıklama > Adımı'nıSendMessage
seçin).Şu kod satırında olmanız gerekir:
SendMessage(name, a[i]);
Yöntemine geçmek için F11 tuşuna
SendMessage
bir kez daha basın.Sarı işaretçi yöntemine
SendMessage
ilerler.F11, Adımla komutudur ve uygulama yürütme işlemini her seferinde bir deyimle ilerler. 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 ayrıntı istiyorsanız, bkz . Yalnızca Kodum).
Yöntemini incelemeyi
SendMessage
tamamladığınızı ve yöntemden çıkmak ancak hata ayıklayıcıda kalmak istediğinizi varsayalım. Bunu, Dışarı Adımla komutunu kullanarak yapabilirsiniz.Shift + F11 tuşuna basın (veya Hata Ayıklama > Adımı Dışarı).
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).
yönteminde döngüye
for
Main
geri dönmeniz, yöntem çağrısındaSendMessage
duraklatılmış olmanız gerekir. Kodunuz arasında gezinmenin farklı yolları hakkında daha fazla bilgi için bkz . Hata ayıklayıcıda kodda gezinme.
Kod yürütme deyiminde
name += letters[i]
duraklatılırken, dizi boyutunu ve öğe türünüchar[10]
gösteren bir veri ipucu görmek için değişkenin üzerineletters
gelin.Not
Hata ayıklayıcının en kullanışlı özelliklerinden biri, bir değişkeni inceleyebilmesidir. Genellikle bir sorunun hatalarını ayıklamaya çalışırken değişkenlerin belirli bir zamanda beklediğiniz değerlere sahip olup olmadığını bulmaya çalışırsınız. Veri ipuçlarını görüntülemek, bunu denetlemenin iyi bir yoludur.
Değişkeni genişleterek
letters
tüm dizi öğelerini ve değerlerini görüntüleyin.Boş bir dize olan geçerli değerini görmek için değişkenin üzerine
name
gelin.Hata ayıklayıcıyı bir sonraki deyime ilerletmek için F10'u seçin veya Hata Ayıkla araç çubuğundaki Üzerine Adımla düğmesini seçin veya menü çubuğundan Hata Ayıklama Adımını Ayıkla'yı> seçin. Yöntem çağrısını geçmek için F10'u
SendMessage
iki kez daha seçin.F10 , kodu hala yürütülse de işleve veya yöntemlere adım atmadan hata ayıklayıcıyı ilerletir. Bu şekilde, şu anda ilgilenmediğimiz yöntemdeki kodda
SendMessage
hata ayıklamayı atladık.Döngüde
for
birkaç kez yineleme yapmak için tekrar tekrar F10'ı seçin. Her döngü yinelemesi sırasında kesme noktasında duraklatın ve ardından değişkeninname
üzerine gelerek veri ipucundaki değerini denetleyin.Değişkenin değeri döngünün her yinelemesiyle
for
değişir ve ardından ,fr
fre
ve gibi değerlerinif
gösterir. Hata ayıklayıcıyı döngüde daha hızlı ilerletmek için bunun yerine F5'i seçin. Bu, sonraki deyim yerine kesme noktanıza ilerler.Kod yürütme yöntemin döngüsünde
for
Main
duraklatılırken F11'i seçin veya Hata Ayıklama araç çubuğundan Adımla düğmesini seçin ya da yöntem çağrısına ulaşanaSendMessage
kadar menü çubuğundan Adımlama Hatalarını Ayıkla'yı>seçin.Hata ayıklayıcısı şu kod satırında duraklatılmalıdır:
SendMessage(name, a[i]);
Yöntemine
SendMessage
geçmek için yeniden F11'i seçin.Sarı işaretçi yöntemine
SendMessage
ilerler.F11 , kodunuzun yürütme akışını daha ayrıntılı incelemenize yardımcı olur. Yöntem çağrısından bir yönteme geçmek için F11'i seçin. Varsayılan olarak, hata ayıklayıcısı kullanıcı olmayan yöntemlere adımlamayı atlar. Kullanıcı olmayan kodda hata ayıklama hakkında bilgi edinmek için bkz . Yalnızca Kodum.
Yöntemin hata ayıklamasını
SendMessage
tamamladıktan sonra yönteminfor
döngüsünemain
geri dönmeye hazırsınız demektir.Yöntemden
SendMessage
çıkmak için Shift+F11'i seçin veya Hata Ayıklama araç çubuğundaKi Dışarı Adımla düğmesini seçin veya menü çubuğundan Hata Ayıklama>Adım Çıkışı'nı seçin.Step Out , 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.
Sarı işaretçiyi yöntemin
for
döngüsündeMain
, yöntem çağrısındaSendMessage
duraklatılmış olarak görürsünüz. 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'i seçin.
Kod düzenleyicisinde ekranı aşağı kaydırın ve yeşil Tıklamayla Çalıştır düğmesi görünene kadar yöntemin üzerine
Console.WriteLine
SendMessage
gelin. Düğmenin araç ipucunda "Yürütmeyi burada çalıştır" ifadesi gösterilir.Not
Tıkla çalıştır düğmesi Visual Studio 2017'de yenidir. (Yeşil ok düğmesini görmüyorsanızHata ayıklayıcısını doğru yere ilerletmek için bu örnekteki F11 .)
Tıklayacak Şekilde Çalıştır düğmesini seçin.
Hata ayıklayıcı yöntemine
Console.WriteLine
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).
Kesme noktasına yeniden ilerlemek için F5'i seçin.
Kod düzenleyicisinde, Tıklatılacak
Console.WriteLine
Çalıştır düğmesi görünene kadar yöntemindekiSendMessage
yöntem çağrısının üzerine gelin. Düğmenin araç ipucunda "Yürütmeyi burada çalıştır" ifadesi gösterilir.Tıklayacak Şekilde Çalıştır düğmesini seçin. Alternatif olarak, imleciniz deyimdeyken
Console.WriteLine
Ctrl+F10 tuşlarına basın. Alternatif olarak, yöntem çağrısınaConsole.WriteLine
sağ tıklayın ve bağlam menüsünden İmleç için Çalıştır'ı seçin.Hata ayıklayıcı yöntem çağrısına
Console.WriteLine
ilerler.Tıklayarak Çalıştır düğmesinin kullanılması, geçici bir kesme noktası ayarlamaya benzer ve açık bir dosyadaki uygulama kodunuzun görünür bir bölgesinde hızla gezinmek için kullanışlıdır.
Uygulamanızı hızlı bir şekilde yeniden başlatın
Hata Ayıklama Araç Çubuğu'nda Yeniden Başlat düğmesini seçin (Ctrl + Shift + F5).
Yeniden Başlat'a bastığınızda, uygulama durdurulduğunda ve hata ayıklayıcı yeniden başlatıldığında zaman kazanır. Hata ayıklayıcı, kod yürütülerek isabet edilen ilk kesme noktasında duraklatılır.
Hata ayıklayıcı, döngü içinde daha önce ayarladığınız for
kesme noktasında yeniden durur.
Uygulamanızı hata ayıklayıcıda baştan yeniden çalıştırmak için Ctrl+Shift+F5 tuşlarına basın veya Hata Ayıklama araç çubuğunda yeniden başlat düğmesini seçin ya da menü çubuğundan Yeniden Başlatma Hatalarını Ayıkla'yı> seçin.
Yeniden başlatma , hata ayıklayıcıyı durdurur ve bir adımda yeniden başlatır. Hata ayıklayıcı yeniden başlatıldığında, döngü içinde daha önce ayarladığınız for
ilk kesme noktasına çalışır ve ardından duraklatır.
Otomatik Ve Yerel Ayarlar pencereleriyle değişkenleri inceleme
Kod düzenleyicisinin en altındaki Otomatikler penceresine bakın.
Kapalıysa Windows>Otomatik Hata Ayıklama'yı>seçerek hata ayıklayıcıda duraklatılmış durumdayken 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.Yerel Ayarlar penceresi, geçerli kapsamdaki değişkenleri, yani geçerli yürütme bağlamını gösterir.
Hata ayıklarken Otomatikler ve Yereller pencereleri değişken değerleri gösterir. Pencereler yalnızca hata ayıklama oturumu sırasında kullanılabilir. OtomatikLer penceresi, hata ayıklayıcının olduğu geçerli satırda ve önceki satırda kullanılan değişkenleri gösterir. Locals penceresi, genellikle geçerli işlev veya yöntem olan yerel kapsamda tanımlanan değişkenleri gösterir.
Hata ayıklayıcı duraklatılırken, kod düzenleyicisinin en altındaki Otomatikler penceresini görüntüleyin.
OtomatikLer penceresi kapalıysa, Ctrl+D, A'yı seçin veya menü çubuğundan Windows>OtomatikLerinde Hata Ayıkla'yı>seçin.
Hata ayıklayıcı hala duraklatılmış durumdayken, Yereller penceresini Otomatikler penceresinin yanındaki bir sekmede görüntüleyin.
Yerel Ayarlar penceresi kapalıysa, Ctrl+D, L'yi veya Windows>Yerel Ayarları Hatalarını Ayıkla'yı>seçin.
Yerel Ayarlar penceresinde, dizi öğelerini ve değerlerini görmek için değişkeni genişletin
letters
.
Otomatik ve Yerel Ayarlar pencereleri hakkında daha fazla bilgi için bkz. Otomatik ve Yerel Ayarlar pencerelerindeki değişkenleri inceleme.
Saat ayarlama
Ana kod düzenleyicisi penceresinde değişkene name
sağ tıklayın ve Gözcü Ekle'yi seçin.
Kod düzenleyicisinin alt kısmında Gözcü penceresi açılır. İzleme penceresini, göz kulak olmak istediğiniz bir değişkeni (veya ifadeyi) belirtmek için kullanabilirsiniz.
Artık değişkende name
bir saat kümeniz var ve hata ayıklayıcıda ilerledikçe değerinin değiştiğini görebilirsiniz. Diğer değişken pencerelerinden farklı olarak, İzleme penceresi her zaman izlediğiniz değişkenleri gösterir (kapsam dışındayken gri görünür).
Kodda ilerletilirken göz kulak olmak istediğiniz bir değişkeni veya ifadeyi İzleme penceresine ekleyerek belirtebilirsiniz.
Hata ayıklayıcı duraklatılırken değişkene
name
sağ tıklayın ve gözcü ekle'yi seçin.İzleme penceresi varsayılan olarak kod düzenleyicisinin en altında açılır.
Değişkende
name
bir saat ayarladığınıza göre, herfor
döngü yinelemesinde değişkeninname
değerinin değiştiğini görmek için kodunuzda adım adım ilerleyin.Diğer değişken pencerelerinden farklı olarak, İzleme 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 döngüde
for
duraklatılırken, 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 Hata Ayıkla'yı>seçerek hata ayıklayıcıda duraklatılmış durumdayken açın.
Hata ayıklayıcının yönteminde duraklatılmış olduğunu görene kadar F11'i
SendMessage
birkaç kez seçin. Ç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
SendMessage
yöntem) gösterilir. İkinci satır, yöntemindenMain
çağrıldığınıSendMessage
vb. gösterir.Not
Çağrı Yığını penceresi, Eclipse gibi bazı IDE'lerde 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.
Bu kaynak koda bakmak için bir kod satırına çift tıklayarak hata ayıklayıcı tarafından denetlenen geçerli kapsamı da değiştirebilirsiniz. Bu eylem hata ayıklayıcıyı ilerletmez.
Diğer işlemleri yapmak için Çağrı Yığını penceresindeki 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 bkz . Nasıl yapılır: Çağrı Yığınını İnceleme.
Çağrı Yığını, yöntemlerin ve işlevlerin çağrılma sırasını göstererek uygulamanızın yürütme akışını anlamanıza yardımcı olabilir.
Hata ayıklayıcı döngüde
for
duraklatılırken, kod düzenleyicisinin sağ alt bölmesinde varsayılan olarak açılan Çağrı Yığını penceresini görüntüleyin.Çağrı Yığını penceresi kapalıysa, Ctrl+D, C'yi seçin veya menü çubuğundan Windows>Çağrı Yığınında Hata Ayıkla'yı>seçin.
Çağrı Yığını penceresinde geçerli
Main
yöntemde sarı işaretçiyi görürsünüz.Hata ayıklayıcının yönteminde duraklatılmış olduğunu görene kadar F11'i
SendMessage
birkaç kez seçin.Çağrı Yığını penceresinin üst satırı, yöntemi olan
SendMessage
geçerli işlevi gösterir. İkinci satırda yönteminSendMessage
yöntemindenMain
çağrıldığı gösterilir.Not
Çağrı Yığını penceresi, Eclipse gibi bazı IDE'lerdeki Hata Ayıklama perspektifine benzer.
Çağrı Yığını penceresinde, kaynak koda gitmek için bir kod satırına çift tıklayarak hata ayıklayıcı tarafından denetlenen geçerli kapsamı değiştirebilirsiniz. Bu eylem hata ayıklayıcıyı ilerletmez.
Diğer işlemleri yapmak için Çağrı Yığını penceresindeki 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 veya kaynak koduna gidebilirsiniz.
Çağrı Yığını hakkında daha fazla bilgi için bkz. Nasıl yapılır: Çağrı Yığınını İnceleme.
Yürütme akışını değiştirme
Yöntemini çalıştırmak için F11 tuşuna
Console.WriteLine
iki kez basın.Hata ayıklayıcı yöntem çağrısında
SendMessage
duraklatılmış durumdaysa, fareyi kullanarak sarı oku veya yürütme işaretçisini (sol kenar boşluğunda) yakalayın ve işaretçiyi deyimineConsole.WriteLine
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ıktan sonra tebrikler!
Hata ayıklama sırasında uygulamanızın akışını değiştirmek için yürütme işaretçisini taşıyabilirsiniz.
Hata ayıklayıcısı döngüdeki
SendMessage
for
yöntem çağrısında duraklatıldıktan sonra yönteme geçmekSendMessage
ve yürütdükten sonra yöntemi geçmekConsole.WriteLine
için F11'i üç kez seçin.Hata ayıklayıcısı artık yönteminin son kapanış ayracında
SendMessage
duraklatılır.Fareyi kullanarak sarı oku veya yürütme işaretçisini (sol kenar boşluğunda) yakalayın ve işaretçiyi bir satır yukarı sürükleyin.
Hata ayıklayıcısı artık deyimine
Console.WriteLine
geri döndü.F11'i seçin.
Hata ayıklayıcı yöntemini yeniden çalıştırır
Console.WriteLine
ve konsol penceresi çıkışında yinelenen bir satır görürsünüz.Uygulamayı çalıştırmaya devam etmek için F5'i seçin.
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ı
Bu özelliği dikkatli kullanın. Yürütme işaretçisinin araç ipucunda istenmeyen sonuçlarla ilgili bir uyarı görürsünüz. Başka uyarılar da görebilirsiniz. Yürütme işaretçisini taşımak uygulamanızı önceki bir duruma geri döndüremez.
Yürütme akışını değiştirme hakkında daha fazla bilgi için bkz . Yürütme akışını değiştirmek için işaretçiyi taşıma.
Bu öğreticiyi tamamladıktan sonra 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.