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.
Not
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ı kesme modundayken kodunuzda gezinebilirsiniz. Kesme moduna hızlı bir şekilde girmenin iki yaygın yolu vardır:
Bir kesme noktası ayarlayın ve uygulamanızı başlatın.
Belirli bir konuma veya işleve çalıştırın.
Örneğin, Visual Studio'daki kod düzenleyicisinde İmleçte Çalıştır komutunu kullanarak uygulamayı başlatabilir, hata ayıklayıcısı ekli olarak kesme moduna geçebilirsiniz. Ardından kodda gezinmek için adım komutlarını kullanabilirsiniz.
Uygulamanızı başlatmak için kod adımlama komutları kullanılabilir, ancak kesme moduna girdikten sonra daha yaygın olarak kullanılır.
Kesme modundayken kodda gezinme
Bazı gezinti komutları çoğunlukla kesme modundayken (hata ayıklayıcıda duraklatılırken) kullanılır.
Kod adımlama komutları en yaygın olarak kesme modunda kullanılır.
Tıklamak için Çalıştır gibi bazı komutlar yalnızca kesme modundayken kullanılabilir.
Hata ayıklama ve kesme 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.
Not
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 . Simge (.pdb) ve kaynak dosyaları belirtme. 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ıklarken her deyimi durdurmak için Hata Ayıklama>Adımı'na tıklayın veya F11'i seçin.
Hata ayıklayıcısı fiziksel satırlarda değil kod deyimlerinde adım adım ilerler. Örneğin, bir if
yan tümce tek satıra yazılabilir:
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. Yukarıdaki örnekte koşul true şeklindedir.
İç içe yerleştirilmiş bir işlev çağrısında, En derin iç içe yerleştirilmiş işleve adım geçin. Örneğin, gibi Func1(Func2())
bir çağrıda İçine Adımla özelliğini kullanırsanız hata ayıklayıcı işlevine Func2
adım atar.
İpucu
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 bkz. Hata ayıklama sırasında çağrı yığınındaki yöntemleri eşleyin.)
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. Kod adımlarken 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ıkla menü komutu | Açıklama |
---|---|---|
F10 | AdımLa | 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. |
Shift+F11 | Dışarı Adımla | Out , kodu çalıştırmaya devam eder ve geçerli işlev döndürdüğünde yürütmeyi askıya alır. Hata ayıklayıcı geçerli işlevi atlar. |
Belirli bir konuma veya işleve çalıştırma
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ı yeniden kullanmak isteyebileceğinizi düşünüyorsanız kesme noktası ayarlamak en iyisidir.
- Diğer yöntemler kolaylık sağlamak içindir ve geçici kesme noktası ayarlamaya benzer.
Kodda kesme noktasına çalıştırma
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'a tıklayabilir, Hata Ayıklama>Kesme Noktası Aç/Kapat'ı seçebilir veya sağ tıklayıp Kesme Noktası Ekleme Kesme Noktası'nı> 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ı, satırın çalıştırılmasından hemen önce yürütmeyi askıya alır.
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.
İşlev kesme noktasına çalıştırma
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.
Ada göre bir işlev kesme noktası belirtmek için:
Yeni Kesme Noktası İşlevi Kesme Noktası> Hatalarını Ayıkla'ya>tıklayın.
Yeni İşlev Kesme Noktası iletişim kutusunda işlevin adını girin ve dilini seçin:
Tamam'ı seçin.
İşlev aşırı yüklenmişse veya birden fazla ad alanındaysa Kesme Noktaları penceresinde istediğiniz ad alanını seçebilirsiniz:
Çağrı yığınından bir işlev kesme noktası seçmek için:
Hata ayıklama sırasında Windows>Çağrı Yığınında Hata Ayıkla'yı>seçerek Çağrı Yığını penceresini açın.
Çağrı Yığını penceresinde bir işleve sağ tıklayın ve İmleçte Ç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 çalıştırma
İ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.
Çalıştırmayı imleç konumuna 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. hata ayıklayıcı imlecin bulunduğu kod satırına ulaşana kadar, İmleçte Çalıştırmaya Zorla seçildiğinde kesme noktaları ve ilk şans özel durumları atlanır.
Tıklamak için çalıştır
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. Tıklatılacak Çalıştır'ı kullanmak, geçici bir kesme noktası ayarlamaya benzer.
Not
Tıkla çalıştır özelliği Visual Studio 2017'den itibaren kullanılabilir.
Çalıştırmayı tıklamaya zorla
Hata ayıklayıcı duraklatılırken, Shift tuşuna basarken kaynak kodundaki bir deyimin üzerine gelebilir ve ardından Yürütmeyi buraya çalıştırmaya zorla 'yı (çift yeşil ok) seçebilirsiniz. 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 bulunan kesme noktaları ve ilk şans özel durumları geçici olarak devre dışı bırakılır.
Not
Tıklamaya Zorla, 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ü Kes'i veya Ctrl+Alt+Break'i 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'da Yalnızca Kodumu Etkinleştir onay kutusunu temizleyin. Yalnızca Benim Kodum devre dışı bırakıldığında, hata ayıklayıcı pencerelerinde kullanıcı dışı kod görünür ve hata ayıklayıcı kullanıcı olmayan koda adım atabilir.
Not
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ıklama sırasında .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:
Hata ayıklarken, Windows>Modüllerinde Hata Ayıkla'yı>seçerek veya Ctrl+Alt+U tuşlarına basarak Modüller penceresini açın.
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 atmasını 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.