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, Visual Studio tarafından sağlanan hata ayıklayıcı araçları tanıtılan. Visual Studio bağlamında, uygulamanızı
Burada açıklanan özellikler C#, C++, Visual Basic, JavaScript ve Visual Studio tarafından desteklenen diğer diller (not edilenler dışında) için geçerlidir.
Kesme noktası ayarlama ve hata ayıklayıcıyı başlatma
Kesme noktaları, çalışma zamanında ayrıntılı olarak incelemek istediğiniz kod satırını veya kod bölümünü bildiğinizde yararlı bir özelliktir. Koşullu kesme noktaları ve işlev kesme noktaları gibi farklı kesme noktası türleri hakkında daha fazla bilgi için bkz. Kesme noktalarını kullanma.
Hata ayıklamak için, uygulamanızı uygulama işlemine eklenmiş hata ayıklayıcıyla başlatmanız gerekir. Bunu yapmak için:
- En yaygın yöntem olan F5 (Hata Ayıklamayı Başlat Hata Ayıklamayı) tuşlarına basın.
Uygulama kodunuzu incelemek için kullanılacak herhangi bir kesme noktanız henüz ayarlanmamış olabilir. Kesme noktalarını ayarladıktan sonra hata ayıklamaya başlamaya hazırsınız demektir. Kesme noktaları, güvenilir hata ayıklamanın en temel ve temel özelliğidir. 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 göz atabilmeniz için Visual Studio çalışan kodunuzu nerede askıya alması gerektiğini gösterir.
Kod düzenleyicisinde açık bir dosyanız varsa, bir kod satırının solundaki kenar boşluğuna tıklayarak kesme noktası ayarlayabilirsiniz.
Kesme Noktası AyarlamaKesme noktası ayarlama
Hata Ayıklama Araç Çubuğu'nda veya F5 (>) tuşuna ya da Hata Ayıklamayı Başlat düğmesine basın; hata ayıklayıcı karşılaştığı ilk kesme noktasına kadar çalışır. Uygulama henüz çalışmıyorsa, F5 hata ayıklayıcıyı başlatır ve ilk kesme noktasında durur.
Canlı kod düzenleme
Visual Studio 2022, hata ayıklama sırasında canlı kod düzenlemeyi destekler. Ayrıntılı bilgi için bkz:
- Çalışan kodu yazma ve hata ayıklama
- XAML Çalışırken Yeniden Yükleme ile çalışan XAML kodunu yazın ve hata ayıklayın
- Düzenle ve Devam Et
Adım komutlarını kullanarak hata ayıklayıcıda kodda gezinme
Çoğu komut için klavye kısayollarını sağlarız çünkü bunlar uygulama kodunuzda gezinmeyi daha hızlı hale getirir. (Menü komutları gibi eşdeğer komutlar parantez içinde gösterilir.) Adım komutlarını kullanma hakkında daha fazla ayrıntı için bkz. Hata ayıklayıcıda kodda gezinme.
Uygulamanızı hata ayıklayıcı ekli olarak başlatmak için F11 (Hata Ayıklama Adımına) basın. F11, İçeri Gir komutudur ve uygulama yürütme işlemini bir kerede bir deyimle ilerletir. Uygulamayı F11 ile başlattığınızda, hata ayıklayıcı yürütülen ilk deyimde durur.
F11'e adım adımF11 adımı
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).
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).
Uyarı
Yönetilen kodda, özellikler ve işleçler (varsayılan davranış) üzerine otomatik olarak geçtiğinizde bildirim almak isteyip istemediğinizi soran bir iletişim kutusu görürsünüz. Ayarı daha sonra değiştirmek isterseniz, bölmesindeki ayarını Tüm Ayarlar altında devre dışı bırakın.
Uyarı
Yönetilen kodda, özellikler ve işleçler (varsayılan davranış) üzerine otomatik olarak geçtiğinizde bildirim almak isteyip istemediğinizi soran bir iletişim kutusu görürsünüz. Ayarı daha sonra değiştirmek isterseniz, iletişim kutusunda bölümündeki ayarları altında ayarını devre dışı bırakın.
İşlevleri atlamak için kodun üzerine adım atlayın
İşlev veya yöntem çağrısı olan bir kod satırında olduğunuzda, F11 yerine F10 (Hata Ayıklama Üzerinden Geç) tuşuna basabilirsiniz.
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). F10'a basarak ilgilenmediğiniz kodu atlayabilirsiniz. Bu şekilde, daha çok ilgilendiğiniz kodlara hızla ulaşabilirsiniz. Adım komutlarını kullanma hakkında daha fazla ayrıntı için bkz. Hata ayıklayıcıda kodda gezinme.
Hata ayıklayıcıyı geçerli işlevin dışına ilerlet
Bazen hata ayıklama oturumunuza devam etmek ancak hata ayıklayıcıyı geçerli işlev boyunca ilerletmek isteyebilirsiniz.
Shift + F11 tuşlarına basın (veya Hata Ayıklama İşlemi Tamamla).
Bu komut, geçerli işlev dönene kadar uygulama yürütmeyi sürdürür (ve hata ayıklayıcıyı ilerletir).
Fareyi kullanarak kodunuzda hızla bir noktaya gidin
Tıkla ve Çalıştır düğmesinin kullanılması, geçici bir kesme noktası ayarlamaya benzer. Bu komut, uygulama kodunun görünür bir bölgesinde hızla gezinmek için de kullanışlıdır. Herhangi bir açık dosyada Run to Click'i kullanabilirsiniz. Bu özellik ve benzer gezinti özellikleri hakkında daha fazla bilgi için bkz. Kodunuzda belirli bir konuma çalıştırma.
Hata ayıklayıcıdayken, bir kod satırının üzerine gelin ve Tıklamak için Çalıştır (Yürütmeyi buraya kadar çalıştır) düğmesinin sağda görünmesini bekleyin. 
Hata ayıklayıcıdayken, Tıklamaya Kadar Çalıştır (Yürütmeyi buraya kadar getirmek) düğmesi
solda görünene kadar bir kod satırının üzerine gelin. Düğme, yürütmenin düğmenin yerleştirildiği satıra kadar çalışması gerektiğini gösterir.
Uyarı
Çalıştırmak için Tıkla (Yürütmeyi buradan çalıştır) düğmesi, Visual Studio 2017'den itibaren kullanılabilir.
Çalıştırmak için Tıkla (Yürütmeyi buradan çalıştır) düğmesine tıklayın. Hata ayıklayıcı, tıkladığınız kod satırına ilerler.
İmleç için çalıştır
Kodu düzenlerken (hata ayıklayıcıda duraklatmak yerine), uygulamanızdaki bir kod satırına sağ tıklayın ve İmleçte Çalıştır'ı seçin (veya CtrlF10 basın). Bu komut hata ayıklamayı başlatır ve geçerli kod satırında geçici bir kesme noktası ayarlar. Bu özellik ve benzer gezinti özellikleri hakkında daha fazla bilgi için bkz. Kodunuzda belirli bir konuma çalıştırma.
İmleçte Çalıştır seçeneğini gösteren ekran görüntüsü.İmleç'e Çalıştır
İmleçle Çalıştırİmleç'e Çalıştır
Kesme noktaları ayarlarsanız, hata ayıklayıcı karşılaştığı ilk kesme noktasında duraklatılır.
İmleçte Çalıştır'ı seçtiğiniz kod satırına ulaşana kadar F5 tuşuna basın.
Bu komut, kodu düzenlerken ve hızlı bir şekilde geçici bir kesme noktası ayarlayıp hata ayıklayıcıyı aynı anda başlatmak istediğinizde kullanışlıdır.
Uyarı
Hata ayıklarken Çağrı Yığını penceresinde İmleçle Çalıştır'ı kullanabilirsiniz.
Uygulamanızı hızlı bir şekilde yeniden başlatın
Hata Ayıklama Araç Çubuğu'nda Uygulamayı Yeniden BaşlatUygulamayı Yeniden Başlat düğmesini seçin (veya Ctrl + Shift + F5 tuşlarına basın).
Restarttuşuna bastığınızda, uygulama durdurulup hata ayıklayıcıyı yeniden başlatmaya kıyasla 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ıyı durdurmak ve kod düzenleyicisine geri dönmek istiyorsanız, Stop DebuggingStop DebuggingYeniden Başlat yerine kırmızı dur düğmesine basabilirsiniz.
Veri ipuçlarıyla değişkenleri inceleme
Artık biraz yolunuzu bildiğinize göre, hata ayıklayıcıyla uygulama durumunuzu (değişkenleri) incelemeye başlamak için iyi bir fırsatınız olur. Değişkenleri incelemenize olanak sağlayan özellikler, hata ayıklayıcının en kullanışlı özelliklerinden bazılarıdır ve bunu yapmanın farklı yolları vardır. Genellikle bir sorunun hatalarını ayıklamaya çalıştığınızda, değişkenlerin belirli bir uygulama durumunda olmasını beklediğiniz değerleri depolayıp depolamadığını bulmaya çalışırsınız. Veri ipuçlarını kullanma hakkında ayrıntılı bilgi için bkz. Veri ipuçlarında veri değerlerini görüntüleme.
Hata ayıklayıcıda duraklatılırken fareyle bir nesnenin üzerine gelin ve değerini veya varsayılan özellik değerini görürsünüz.
Bir Veri İpucunu GörüntüleVeri ipucunu görüntüle
Değişkenin özellikleri varsa, nesnesini genişleterek tüm özelliklerini görebilirsiniz.
Genellikle, hata ayıklarken nesnelerdeki özellik değerlerini denetlemek 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
OtomatikLer penceresinde, değişkenlerin geçerli değerleri ve türleriyle birlikte olduğunu görürsünüz. OtomatikLer penceresi geçerli satırda veya önceki satırda kullanılan tüm değişkenleri gösterir (C++'da pencere, yukarıdaki üç kod satırındaki değişkenleri gösterir. Dile özgü davranış için belgeleri denetleyin). Bu pencereleri kullanma hakkında daha fazla bilgi için bkz . Autos and Locals pencerelerindeki değişkenleri inceleme.
Hata ayıklarken, kod düzenleyicisinin altındaki Otomatikler penceresine bakın.
Otomatikler penceresini gösteren bir ekran görüntüsü. Otomatikler penceresi.
OtomatikLer PenceresiOtomatikLer penceresi
Uyarı
JavaScript'te YerelLer penceresi desteklenir, ancak Otomatikler penceresi desteklenmez.
Ardından Yerel ayarlar penceresine bakın. Yerel Ayarlar penceresinde, şu anda kapsamda olan değişkenler gösterilir.
Yerel Ayarlar penceresini gösteren ekran görüntüsü.Yerel ayarlar penceresi
Yerel Ayarlar PenceresiYerel Ayarlar penceresi
Bu örnekte, nesnesi ve nesnesi kapsam içindedir. Daha fazla bilgi için bkz. Otomatik ve Yerel Pencerelerde Değişkenleri İnceleme.
Saat ayarlama
İzlemek istediğiniz bir değişken (veya ifadeyi) belirtmek için izleme penceresini kullanabilirsiniz. Ayrıntılı bilgi için bkz. Watch ve QuickWatch Windows kullanarak saat oluşturma.
Hata ayıklama sırasında bir nesneye sağ tıklayın ve Gözcü Ekle'yi seçin.
gözcü penceresini gösteren ekran görüntüsü.Gözcü penceresi
Gözcü PenceresiGözcü penceresi
Bu örnekte, nesne üzerinde ayarlanmış bir izleme etkinliğiniz vardır ve hata ayıklayıcıda ilerlerken değerinin değiştiğini görebilirsiniz. Diğer değişken pencerelerinden farklı olarak, İzleme pencereleri her zaman izlemekte olduğunuz değişkenleri gösterir (kapsam dışında olduklarında gri görünürler).
Çağrı yığınını inceleme
Ç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. İkinci satırda, çağrıldığı işlev veya özellik gösterilir ve bu şekilde devam eder. Çağrı yığını, bir uygulamanın yürütme akışını incelemek ve anlamak için iyi bir yoldur. Ayrıntılı bilgi için bkz: Nasıl Yapılır: Çağrı Yığınını İnceleme.
Uyarı
Çağrı Yığını penceresi, Eclipse gibi bazı IDE'lerde Debug görünümüne benzer.
Hata ayıklama sırasında, varsayılan olarak sağ alt bölmede açık olan Çağrı Yığını penceresini seçin.
Çağrı Yığını penceresini gösteren ekran görüntüsü.Çağrı yığınını inceleme
Çağrı Yığınını İncelemeÇağrı yığınını inceleme
Bir kod satırına çift tıklayarak kaynak kodu görüntüleyebilir ve aynı zamanda hata ayıklayıcı tarafından incelenen geçerli kapsamı değiştirebilirsiniz. Bu, 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, belirli işlevlere kesme noktaları ekleyebilir, İmleçte Çalıştır'ı kullanarak uygulamanızı yeniden başlatabilir ve kaynak kodu inceleyebilirsiniz.
İstisnayı incele
Uygulamanız bir özel durum oluştururken hata ayıklayıcı sizi özel durum oluşturan kod satırına götürür. Ayrıntılı bilgi için bkz Exception Helper'ı kullanarak bir özel durumu inceleyin.
Hata YardımcısıHata Yardımcısı
Bu örnekte, Özel Durum Yardımcısı, size bir özel durum ve "nesne başvurusu, nesnenin bir örneğine ayarlı değil" diyen bir hata iletisi gösterir. Çağırmaya çalıştığınız yönteminde dize değerinin null olduğunu bildirir.
Özel Durum Yardımcısı, hata ayıklamanıza yardımcı olabilecek harika bir özelliktir. Ayrıca hata ayrıntılarını görüntüleme ve Özel Durum Yardımcısı'ndan bir saat ekleme gibi işlemler de yapabilirsiniz. Veya gerekirse, belirli bir istisnayı fırlatma koşullarını değiştirebilirsiniz. Kodunuzdaki özel durumları işleme hakkında daha fazla bilgi için bkz.hata ayıklama teknikleri ve araçları
Bu özel durum türünün nasıl işleneceğini görmek için Özel Durum Ayarları düğümünü genişletin, ancak bu tur için hiçbir şeyi değiştirmeniz gerekmez!
Tavsiye
Copilot varsa özel durumlarda hata ayıklarken yapay zeka yardımı alabilirsiniz.
Analyze with Copilot
düğmesini arayın. Daha fazla bilgi için Copilot ile Hata Ayıklama bölümüne bakın.
Tavsiye
Copilot varsa özel durumlarda hata ayıklarken yapay zeka yardımı alabilirsiniz.
Ask Copilot düğmesini arayın ve
Daha fazla bilgi için Copilot ile Hata Ayıklama bölümüne bakın.
Yapay zeka yardımı alma
Copilot varsa, hata ayıklarken yapay zeka yardımı alabilirsiniz. Daha fazla bilgi için bkz. Copilot ile Hata Ayıklama. Hata ayıklama sırasında Copilot ile Analiz Et
düğmesini de arayabilirsiniz. Bu senaryolarda, Copilot sorularınızın bağlamını zaten bilir, bu nedenle Copilot sohbette bağlamı kendiniz sağlamanız gerekmez.
Yapay zeka yardımı alma
Copilot varsa, hata ayıklarken yapay zeka yardımı alabilirsiniz. Daha fazla bilgi için bkz. Copilot ile Hata Ayıklama. Hata ayıklama sırasında Ask Copilot
düğmesini de arayabilirsiniz. Bu senaryolarda, Copilot sorularınızın bağlamını zaten bilir, bu nedenle Copilot sohbette bağlamı kendiniz sağlamanız gerekmez.
Hata ayıklamayı yapılandırma
Projenizi Hata Ayıklama veya Yayın yapılandırması olarak derlemek üzere yapılandırabilir, hata ayıklama için proje özelliklerini yapılandırabilir veya hata ayıklama için genel ayarları yapılandırabilirsiniz. Ayrıca, DebuggerDisplay özniteliği veya C/C++ için NatVis çerçevesi gibi özellikleri kullanarak özel bilgileri görüntülemek için hata ayıklayıcıyı yapılandırabilirsiniz.
Hata ayıklama özellikleri her proje türüne özeldir. Örneğin, uygulamayı başlatırken uygulamaya iletebileceğiniz bir bağımsız değişken belirleyebilirsiniz. Çözüm Gezgini'da projeye sağ tıklayıp Properties seçerek projeye özgü özelliklere erişebilirsiniz. Hata ayıklama özellikleri genellikle belirli proje türüne bağlı olarak Derleme veya Hata Ayıklama sekmesinde görünür.
Visual Studio 2022'den başlayarak, .NET projeleri için Debug sekmesi, hata ayıklamayla ilgili özellikleri ayarlayabileceğiniz hata ayıklama başlatma profilleri kullanıcı arabirimine bir bağlantı sağlar.
Proje özelliklerini gösteren ekran görüntüsü.Proje özellikleri
Visual Studio 2022'den başlayarak, .NET projeleri için Debug sekmesi, hata ayıklamayla ilgili özellikleri ayarlayabileceğiniz hata ayıklama başlatma profilleri kullanıcı arabirimine bir bağlantı sağlar.
Proje özellikleriProje özellikleri
Azure App Service'da canlı ASP.NET uygulamalarında hata ayıklama
Azure App Service hatalarını ayıklamak için bkz. Debug Azure uygulamaları.
Visual Studio Enterprise için (yalnızca) Snapshot Debugger ilgilendiğiniz kod yürütülürken üretim içi uygulamalarınızın anlık görüntüsünü alır. Hata ayıklayıcıya bir anlık görüntü almasını bildirmek için, kodunuzda anlık görüntü noktaları ve günlük noktaları ayarlarsınız. Hata ayıklayıcı, üretim uygulamanızın trafiğini etkilemeden tam olarak neyin yanlış gittiğini görmenizi sağlar. Snapshot Debugger, üretim ortamlarında oluşan sorunları çözmek için gereken süreyi önemli ölçüde azaltmanıza yardımcı olabilir.
Anlık görüntü koleksiyonu, Azure App Service çalışan ASP.NET uygulamalar için kullanılabilir. ASP.NET uygulamalar .NET Framework 4.6.1 veya sonraki sürümlerinde ve ASP.NET Core uygulamaların Windows'da .NET Core 2.0 veya sonraki sürümlerinde çalışıyor olması gerekir.
Daha fazla bilgi için bkz. Snapshot Debugger kullanarak canlı ASP.NET uygulamaları dağıtma.
IntelliTrace geri adım (Visual Studio Enterprise) ile anlık görüntüleri görüntüleme
IntelliTrace geri adım adım her kesme noktası ve hata ayıklayıcı adımı olayında uygulamanızın anlık görüntüsünü otomatik olarak alır. Kaydedilen anlık görüntüler önceki kesme noktalarına veya adımlara geri dönmenizi ve uygulamanın durumunu geçmişte olduğu gibi görüntülemenizi sağlar. IntelliTrace geri adımı, önceki uygulama durumunu görmek ancak hata ayıklamayı yeniden başlatmak veya istenen uygulama durumunu yeniden oluşturmak istemediğinizde size zaman kazandırabilir.
Hata Ayıklama araç çubuğundaki Geri Adım ve İleri Adım düğmelerini kullanarak anlık görüntülerde gezinebilir ve görüntüleyebilirsiniz. Bu düğmeler Tanılama Araçları penceresinin Olaylar sekmesinde görüntülenen olaylara gider.
Daha fazla bilgi için IntelliTrace kullanarak önceki uygulama durumlarını inceleme sayfasına bakın.
Performans sorunlarının hatalarını ayıklama
Uygulamanız çok yavaş çalışıyorsa veya çok fazla bellek kullanıyorsa, uygulamanızı erken saatlerde profil oluşturma araçlarıyla test etmeniz gerekebilir. CPU Kullanımı aracı ve Bellek Çözümleyicisi gibi profil oluşturma araçları hakkında daha fazla bilgi için bkz. Profil oluşturma araçlarına ilk bakış.
İlgili içerik
Bu öğreticide, birçok hata ayıklayıcı özelliğine hızlı bir bakış atmıştınız. Kesme noktaları gibi bu özelliklerden birine daha ayrıntılı bir bakış isteyebilirsiniz.
Kesme noktalarını kullanmayı öğrenin