Aracılığıyla paylaş


Visual Studio hata ayıklayıcısını kullanarak kodda gezinme

Visual Studio hata ayıklayıcısı, bir uygulamanın durumunu incelemek ve kod adımlama olarak da bilinen yürütme akışını göstermek için kodda gezinmenize yardımcı olabilir. İncelemek istediğiniz koda hızla ulaşmak için klavye kısayollarını, hata ayıklama komutlarını, kesme noktalarını ve diğer özellikleri kullanabilirsiniz. Hata ayıklayıcı gezinti komutları ve kısayolları hakkında daha fazla bilgi edinerek uygulama sorunlarını daha hızlı ve daha kolay bulabilir ve çözebilirsiniz. Kod gezintisi ve hata ayıklama ile ilgili en yaygın klavye kısayollarının listesi için Klavye kısayolları bölümündeki Hata Ayıklama bölümüne bakın.

Uyarı

Kodda hata ayıklamaya yeni başlıyorsanız, bu makaleyi okumadan önce mutlak yeni başlayanlar için hata ayıklama ve Hata ayıklama teknikleri ve araçları okumak isteyebilirsiniz.

Hata ayıklamayı başlatın ve kesme moduna geçin

Bazı gezinti komutları uygulamanızı başlatır ve hata ayıklayıcıyı otomatik olarak ekler. Uygulamanız, gezintiyi başlatmak için kullandığınız komuta göre belirli bir kod satırında duraklatılır ve kesme moduna girersiniz (yani, uygulamanız hata ayıklayıcıda duraklatılır).

Kesme modunda işlevler, değişkenler ve nesneler bellekte kalırken uygulama yürütme askıya alınır. ** Hata ayıklayıcı durdurma modundayken kodunuzda gezinebilirsiniz. Kesme moduna hızlı bir şekilde girmenin iki yaygın yolu vardır:

Uygulamanızı başlatmak için kod adımlama komutları kullanılabilir, ancak kesme moduna girdikten sonra daha yaygın olarak kullanılır.

Bazı gezinti komutları çoğunlukla ara verme modundayken (hata ayıklayıcıda duraklatılırken) kullanılır.

Hata ayıklama ve durdurma modu

Kesme modundayken, kodunuzda gezinmek için çeşitli komutları kullanabilirsiniz. İhlalleri veya hataları aramak için değişkenlerin değerlerini inceleyebilirsiniz. Bazı proje türleri için, kesme modundayken uygulamada ayarlamalar da yapabilirsiniz.

Modüller ve İzleme pencereleri gibi çoğu hata ayıklayıcı penceresi yalnızca hata ayıklayıcı uygulamanıza eklendiğinde kullanılabilir. Yerel Öğeler penceresinde değişken değerlerini görüntüleme veya İzleme penceresinde ifadeleri değerlendirme gibi bazı hata ayıklayıcı özellikleri yalnızca hata ayıklayıcı duraklatıldığında (kesme modunda) kullanılabilir.

Uyarı

Kaynak veya simge (.pdb) dosyalarının yüklü olmadığı bir koda girerseniz, hata ayıklayıcı dosyaları bulup yüklemenize yardımcı olabilecek Bir Kaynak Dosya Bulunamadı veya Bulunamadı Simgeleri sayfasını görüntüler. Bkz. .pdb sembol ve kaynak dosyalarınıbelirtin. Simgeyi veya kaynak dosyaları yükleyemiyorsanız, Ayrıştırma penceresinde derleme yönergelerinde hata ayıklamaya devam edebilirsiniz.

Kod adımlama

Kod adımlama , hata ayıklayıcının eklendiği uygulama kodunuzu tek seferde bir deyimle yürütmeyi ifade eder. Hata ayıklayıcısı adım komutları, her deyimin etkilerini gözlemlemenize ve yürütme akışı hakkında daha fazla bilgi bulmanıza yardımcı olur.

Koda adımla

Hata ayıklama sırasında her deyimde durmak için Hata Ayıklama>Adımı'nı izleyin veya F11 tuşuna basın.

Hata ayıklayıcısı fiziksel satırlarda değil kod deyimlerinde adım adım ilerler. Örneğin, bir if cümle tek satıra yazılabilir.

int x = 42;
string s = "Not answered";
if( int x == 42) s = "Answered!";

Ancak bu satıra girdiğinizde, hata ayıklayıcı koşulu bir adım ve sonucu başka bir adım olarak ele alır. Önceki örnekte, koşul doğrudur.

İç içe yerleştirilmiş bir işlev çağrısında, Adım At en derin iç içe yerleştirilmiş işleve adım atın. Örneğin, İçine Adımla özelliğini Func1(Func2()) gibi bir çağrıda kullanırsanız, hata ayıklayıcı Func2 işlevin içine girer.

Tavsiye

Her kod satırını çalıştırırken, değerleri görmek için değişkenlerin üzerine gelebilir veya değerlerin değişmesini izlemek için Locals ve Watch pencerelerini kullanabilirsiniz. İşlevlere adımlarken çağrı yığınını görsel olarak da izleyebilirsiniz. (Yalnızca Visual Studio Enterprise için , hata ayıklama sırasında çağrı yığınındaki eşleme yöntemlerine bakın.)

Kodda adım adım ilerleyin ve bazı işlevleri atlayın

Hata ayıklarken işleve önem vermeyebilirsiniz. Ya da iyi test edilmiş kitaplık kodu gibi bazı kodların çalıştığını biliyor olabilirsiniz. Kodu adım adım işlerken kodu atlamak için aşağıdaki komutları kullanabilirsiniz. İşlevler çalışmaya devam eder, ancak hata ayıklayıcı bunları atlar.

Klavye komutu Hata ayıklama menü komutu Açıklama
F10 Adım Atla Geçerli satır bir işlev çağrısı içeriyorsa, Step Over kodu çalıştırır ve çağrılan işlev döndürdüğünde kodun ilk satırında yürütmeyi askıya alır.
Vardiya+F11 Dışarı Çık Step Out, kodun çalıştırılmasına devam eder ve geçerli fonksiyon döndüğünde yürütmeyi askıya alır. Hata ayıklayıcı geçerli işlevi atlar.

Belirli bir konuma veya işlev'e git

Tam olarak hangi kodu incelemek istediğinizi veya hata ayıklamaya nereden başlamak istediğinizi bildiğinizde doğrudan belirli bir konuma veya işleve çalıştırmayı tercih edebilirsiniz.

  • Kesme noktasını tekrar kullanmak isteyebileceğinizi düşünüyorsanız, bir kesme noktası ayarlamak en iyisidir.
  • Diğer yöntemler kolaylık sağlamak içindir ve geçici kesme noktası ayarlamaya benzer.

Kodu kesme noktasına kadar çalıştır

Kodunuzda basit bir kesme noktası ayarlamak için yürütmeyi askıya almak istediğiniz kod satırının yanındaki en sol kenar boşluğunu seçin. Ayrıca satırı seçip F9 tuşuna basabilir, Hata Ayıklama>Kesme Noktası Değiştir seçeneğini kullanabilir veya sağ tıklayıp Kesme Noktası>Kesme Noktası Ekle seçebilirsiniz. Kesme noktası, kod satırının yanındaki sol kenar boşluğunda kırmızı bir nokta olarak görünür. Hata ayıklayıcı, kod satırının çalıştırılmasından hemen önce yürütmeyi askıya alır.

Kesme noktası ayarlamayı gösteren ekran görüntüsü.

Kesme noktası ayarlamayı gösteren ekran görüntüsü.

Visual Studio'daki kesme noktaları, koşullu kesme noktaları ve izleme noktaları gibi zengin bir işlev kümesi sağlar. Ayrıntılar için bkz. Kesme noktalarını kullanma.

Bir işlev kesme noktasına koş

Hata ayıklayıcıyı belirtilen işleve ulaşana kadar çalışacak şekilde ayarlayabilirsiniz. İşlevi ada göre belirtebilir veya çağrı yığınından seçebilirsiniz.

İsme göre bir işlev kesme noktası belirtmek için:

  1. Hata Ayıkla>Yeni Kesme Noktası>İşlev Kesme Noktası.

  2. Yeni İşlev Kesme Noktası iletişim kutusunda işlevin adını girin ve dilini seçin:

    Yeni İşlev Kesme Noktası iletişim kutusunu gösteren ekran görüntüsü.

    Yeni İşlev Kesme Noktası iletişim kutusunu gösteren ekran görüntüsü.

  3. Tamam'ı seçin.

Fonksiyon aşırı yüklenmişse veya birden fazla ad alanındaysa, istediğiniz fonksiyonu Kesme Noktaları penceresinde seçebilirsiniz.

Kesme noktaları penceresini gösteren ekran görüntüsü.

Kesme noktaları penceresini gösteren ekran görüntüsü.

Çağrı yığınından bir işlev kesme noktası seçmek için:

  1. Hata ayıklama sırasında, Hata Ayıkla>> seçeneğini seçerek Çağrı Yığını penceresini açın.

  2. Çağrı Yığını penceresinde bir fonksiyona sağ tıklayın ve İmleç Noktasına Kadar Çalıştır veya Ctrl+F10'u seçin.

Çağrı yığınını görsel olarak izleme hakkında bilgi için bkz. Hata ayıklama sırasında çağrı yığınındaki yöntemleri eşleme.

İmleç konumuna koş

İmleç konumuna gitmek için kaynak kodunda veya Çağrı Yığını penceresinde kesmek istediğiniz satırı seçin ve sağ tıklayıp İmleçte Çalıştır'ı seçin veya Ctrl+F10'u seçin. İmleçte Çalıştır'ın seçilmesi, geçici bir kesme noktası ayarlamaya benzer.

İmleç konumuna koşmayı zorlama

İmleç konumuna gitmek için kaynak kodunda veya Çağrı Yığını penceresinde, kesmek istediğiniz satırı seçin ve sağ tıklayıp Çalıştırmayı İmleçle Zorla'yı seçin. İmleçte Çalıştırmaya Zorla seçeneği belirlendiğinde hata ayıklayıcı, imlecin bulunduğu kod satırına ulaşana kadar kesme noktalarını ve ilk şans özel durumlarını atlar.

Tıklamak için koş

Hata ayıklayıcı duraklatılırken kaynak koddaki veya Ayrıştırma penceresindeki bir deyimin üzerine gelebilir ve Yürütmeyi buradan çalıştır yeşil okunu seçebilirsiniz. Çalıştırmak için Tıkla özelliğini kullanmak, geçici bir kesme noktası ayarlamaya benzer.

Koşarak Tıkla ve yeşil oku gösteren ekran görüntüsü.

Çalıştırmayı tıklamaya zorla

Hata ayıklayıcı çalışması duraklatıldığında, kaynak kodundaki bir deyimin üzerine gelerek, Shift tuşuna basın ve ardından Yürütmeyi buraya zorla çalıştır (çift yeşil ok) seçeneğini seçin. Bu seçeneği belirlediğinizde, uygulama Visual Studio hata ayıklayıcısını ekler ve imleç konumunda duraklatılır. Yürütme sırasında tespit edilen kesme noktaları ve öncelikli istisnalar geçici olarak devre dışı bırakılır.

Uyarı

Force Run to Click, Visual Studio 2022'den itibaren kullanılabilir.

Koda el ile bölme

Çalışan bir uygulamada bir sonraki kullanılabilir kod satırına girmek için Hata Ayıklama>Tümünü Durdur'u veya Ctrl+Alt+Durdur'u seçin.

Kullanıcı dışı kodda hata ayıklama

Varsayılan olarak, hata ayıklayıcı Yalnızca Kodum adlı bir ayarı etkinleştirerek yalnızca uygulama kodunuzda hata ayıklamayı dener. Bu özelliğin çeşitli proje türleri ve dillerinde nasıl çalıştığı ve nasıl özelleştirebileceğiniz hakkında ayrıntılı bilgi için bkz. Yalnızca Kodum.

Hata ayıklama sırasında çerçeve koduna, üçüncü taraf kitaplık koduna veya sistem çağrılarına bakmak için Yalnızca Kodum'un devre dışı bırakabilirsiniz. Araçlar (veya Hata Ayıklama) >Seçenekleri>Hata Ayıklama'daYalnızca Kodumu Etkinleştir onay kutusunu temizleyin. Yalnızca Benim Kodum devre dışı bırakıldığında, hata ayıklayıcı pencerelerinde kullanıcı kodu olmayan kod görünecek ve hata ayıklayıcı kullanıcı olmayan koda geçiş yapabilir.

Uyarı

Cihaz projeleri için Yalnızca Kodum desteklenmez.

Sistem kodunda hata ayıklama

Microsoft sistem kodu için hata ayıklama sembolleri yüklediyseniz ve Yalnızca Benim Kodum'u devre dışı bırakmışsanız, diğer tüm çağrılarda olduğu gibi bir sistem çağrısına da adım atabilirsiniz.

Visual Studio 2022 sürüm 17.7'den başlayarak, hata ayıklama simgelerini el ile yüklemenize gerek kalmadan dış koda adımlarken .NET kodunu otomatik olarak derleyebilirsiniz. Daha fazla bilgi için bkz. hata ayıklarken .NET derlemelerinden kaynak kodu oluşturma.

Microsoft sembollerini yükleme hakkında bilgi edinmek için bkz. Sembol dosyalarının konumunu ve yükleme seçeneklerini yapılandırma.

Belirli bir sistem bileşeninin simgelerini yüklemek için:

  1. Hata ayıklarken Hata Ayıkla>> seçeneğini seçerek veya Ctrl++ tuşlarına basarak Modüller penceresini açın.

  2. Modüller penceresinde, Sembol Durumu sütununda hangi modüllerin sembollerin yüklü olduğunu anlayabilirsiniz. Simgeleri yüklemek istediğiniz modüle sağ tıklayın ve Ardından Simgeleri Yükle'yi seçin.

Yönetilen koddaki özelliklere ve işleçlere adım atma

Hata ayıklayıcı varsayılan olarak yönetilen koddaki özellikler ve işleçler üzerinde adım atar. Çoğu durumda, bu davranış daha iyi bir hata ayıklama deneyimi sağlar. Özelliklere veya işleçlere adım atmayı etkinleştirmek için Hata Ayıklama>Seçenekleri'ni seçin. Hata Ayıklama>Genel sayfasında Özellikler ve işleçler üzerinde adım at (Yalnızca yönetilen) onay kutusunu temizleyin.

Yürütme akışını değiştirmek için işaretçiyi taşıma

Sarı yürütme işaretçisini taşıyarak çalıştırılacak sonraki deyimi değiştirebilirsiniz. Bu özelliği kesme modundayken kullanabilirsiniz.

Bu gelişmiş bir hata ayıklayıcı özelliğidir. Daha fazla bilgi için bkz . Yürütme işaretçisini taşıma.