Bu belge, Visual Studio'daki hata ayıklama özellikleriyle ilgili sık sorulan soruları ele alır. Ayrıca, hata ayıklama görevlerini veya sorunlarını Visual Studio hata ayıklayıcısındaki ilgili özellikle eşler. Bu bağlantılar çok iş parçacıklı uygulamada hata ayıklama, kod gezintisi, bellek sızıntısı, değişkenleri inceleme, kesme noktalarını kullanma, dış kod hata ayıklama ve daha birçok görevi veya sorunu kapsar. Hata ayıklayıcısı özelliklerine genel bir bakışa ihtiyacınız varsa, bkz . Bunun yerine ilk olarak hata ayıklayıcıya bakın.
Kesme nokta -ları
Hata içerebilecek bir kod satırını incelemek için kodu çalıştırmayı duraklatmak Nasıl yaparım??
Kesme noktası ayarlayın. Daha fazla bilgi için bkz . Kesme noktalarını kullanma.
Değişkenimin beklenmeyen bir değeri var mı? Veya belirli bir duruma ulaştığında uygulamamı incelemek istiyor musunuz?
Koşullu mantık kullanarak kesme noktasının nerede ve ne zaman etkinleştirileceğini denetlemek için koşullu kesme noktasını deneyin. Koşulları eklemek için kesme noktasına sağ tıklayın. Değişken beklenmeyen değere eşit olduğunda koşulu true olarak ayarlayın.
Daha fazla bilgi için bkz . Kesme noktası koşulları.
Kodumu değiştirmeden veya durdurmadan yapılandırılabilir koşullar altında Çıkış penceresine günlük bilgileri Nasıl yaparım??
İzleme noktaları, kodunuzu değiştirmeden veya durdurmadan yapılandırılabilir koşullar altında çıktı penceresinde bilgileri günlüğe kaydetmenize olanak sağlar.
Değişkenimin değerinin ne zaman değiştiğini Nasıl yaparım? biliyor musunuz?
C++ için bir veri kesme noktası ayarlayın.
.NET Core 3 kullanan uygulamalar için bir veri kesme noktası da ayarlayabilirsiniz.
Aksi takdirde, yalnızca C# ve F# için bir nesne kimliğini koşullu kesme noktasıyla izleyebilirsiniz.
Yürütmeyi yalnızca başka bir kesme noktasına isabet edildiğinde Nasıl yaparım? kesebilirsiniz?
Yalnızca başka bir kesme noktasına ilk isabet edildiğinde yürütmeyi kesen bir Bağımlı Kesme Noktası ayarlayın. Daha fazla bilgi için bkz . Bağımlı Kesme Noktası.
Kesme noktasına yalnızca bir kez vurabilir miyim?
Kodu yalnızca bir kez kesmenizi sağlayan geçici bir kesme noktası ayarlayın. Daha fazla bilgi için bkz . Geçici Kesme Noktası.
Kodu belirli bir yinelemede döngü içinde duraklatabilir miyim?
Yalnızca başka bir kesme noktasına ilk isabet edildiğinde yürütmeyi kesen bir Bağımlı kesme noktası ayarlayın. Daha fazla bilgi için bkz . İsabet sayısı.
İşlev adını bildiğim halde konumunu bilmezken işlevin başında kodu nasıl duraklatabilirim?
Bunu bir işlev kesme noktasıyla yapabilirsiniz. Daha fazla bilgi için bkz . İşlev kesme noktalarını ayarlama.
Aynı ada sahip birden çok işlevin başında kodu nasıl duraklatabilirim?
Aynı ada sahip birden çok işleviniz olduğunda (farklı projelerde aşırı yüklenmiş işlevler veya işlevler), işlev kesme noktası kullanabilirsiniz.
Kesme noktalarımı yönetme ve izleme
Kesme Noktaları penceresini kullanın. Daha fazla bilgi için bkz . Kesme noktalarını yönetme.
Belirli bir işlenen veya işlenmeyen özel durum oluşturulduğunda kodu duraklatma ve hata ayıklama
Özel Durum Yardımcısı bir hatanın oluştuğu yeri gösterse de, belirli bir hatayı duraklatmak ve hatalarını ayıklamak istiyorsanız, hata ayıklayıcıya özel durum oluştuğunda hata ayıklayıcıya kesmesini söyleyebilirsiniz.
Çağrı yığınından kesme noktası ayarlama
Yürütme akışını incelerken veya Çağrı Yığını pencerelerindeki işlevleri görüntülerken kodu duraklatmak ve hatalarını ayıklamak istiyorsanız, Bkz. Çağrı Yığını penceresinde kesme noktası ayarlama.
Kodu belirli bir derleme yönergesinde duraklatma
Ayrıştırma penceresinden bir kesme noktası ayarlayarak bunu yapabilirsiniz.
Kodda gezinme
Hata ayıklama sırasında kodumda adım adım ilerleyecek komutları nasıl öğrenebilirim?
Daha fazla bilgi için bkz . Hata ayıklayıcı ile kodda gezinme.
Kesme noktalarını kaldırmadan veya devre dışı bırakmadan atlarken kodu belirli bir satırda çalıştırabilir miyim?
Bu senaryolar için "Çalıştırmayı İmleçle Zorla" özelliğini kullanabilirsiniz. Kesme noktalarınızı koruyabilirsiniz ve hata ayıklayıcı imleçle kod satırına ulaşana kadar bunları atlar. Ayrıca, oluşabilecek ilk şans özel durumlarının kırılacağı koşulları atlar. Daha fazla bilgi için bkz . Hata ayıklayıcı ile kodda gezinme.
Kod satırımda farklı yöntemlere çağrılar varsa, belirli bir yönteme adım atabilir miyim?
'Belirli Bir Adıma Geç' seçeneğini belirlemenize olanak tanıyan bir bağlam menüsü açmak için kod satırına sağ tıklayın. Bu, adım atabileceğiniz tüm yöntemlerin listesini gösterir. Artık ilgilendiğiniz yöntemi seçebilirsiniz.
Verileri inceleme ve görselleştirme
Uygulamamı çalıştırırken değişkenlerin değerini nasıl denetleyebilirim?
Veri ipuçlarını kullanarak değişkenlerin üzerine gelin veya Otomatik ve Yerel Ayarlar penceresinde değişkenleri inceleyin.
Belirli bir değişkenin değişen değerini gözlemleyebilir miyim?
değişkeninde bir saat ayarlayın. Daha fazla bilgi için bkz . Değişkenler üzerinde saat ayarlama.
Hata ayıklayıcı penceresi için çok uzun olan dizeleri nasıl görüntüleyebilirim?
Dize Görselleştiricisi, veri ipucu veya hata ayıklayıcı penceresi için çok uzun olan dizeleri gösterir. Ayrıca hatalı biçimlendirilmiş dizeleri belirlemenize de yardımcı olabilir.
Visual Studio'daki yerleşik dize görselleştiricisi Metin, XML, HTML ve JSON seçeneklerini içerir.Büyük koleksiyon nesnelerini nasıl görüntüleyebilirim?
DataSet Görselleştiricisi bir DataSet, DataTable, DataView veya DataViewManager içeriğini görüntülemenizi sağlar. IEnumerable Görselleştiricisi Diziler, Liste gibi nesneleri görüntülemenizi sağlar. Daha fazla bilgi için bkz . Tablo görselleştiricileri.
Zaten çalışmakta olan bir uygulamada hata ayıklama
Yerel veya uzak bilgisayarlarda çalışan uygulamalarda hata ayıklama, aynı anda birden çok işlemde hata ayıklama, Visual Studio'da oluşturulmamış uygulamalarda hata ayıklama veya Visual Studio'dan başlatmadığım herhangi bir uygulamada hata ayıklama işlemlerini nasıl yapabilirim?
Bkz . Çalışan işlemlere ekleme.
Aynı uygulamaya art arda nasıl ekleyebilirim?
her seferinde İşleme Ekle iletişim kutusuna gitmenize gerek kalmadan tek tıklamayla uygulamanızda hata ayıklamaya başlamanıza olanak sağlamak için İşlemek için Yeniden Ekle 'yi (Shift+Alt+P) kullanabilirsiniz. Bkz . İşleme yeniden ekleme
Çok iş parçacıklı uygulamalarda hata ayıklama
Çok iş parçacıklı bir uygulamada nasıl hata ayıklayabilirim? Yoksa uygulamam askıda mı?
Bkz. Paralel Yığınlar penceresiyle ilgili daha fazla sorun giderme
İşlevlerin çağrılma sırasını nasıl görüntüleyebilirim?
Bkz. Çağrı yığınını görüntüleme.
Belleği analiz etme
Uygulamamda bellek sızıntısı var mı?
Daha fazla sorun gidermek için bir anlık görüntü alın ve bellek aracıyla açın. Bkz . Bellek kullanımını ölçme.
Yerel veya yönetilen uygulamalar için bellek kullanımını nasıl analiz ederim?
Canlı hata ayıklama, yığın dökümleri veya performans profil oluşturucu aracılığıyla Visual Studio bellek aracını kullanın.
Bkz. Bellek çözümleme aracı seçme.Hata ayıklayıcı eklemeden yerel veya yönetilen uygulamalar için bellek kullanımını nasıl analiz ederim? Bellek kullanım aracı etkinken Visual Studio performans profil oluşturucuyu kullanın.
Bkz. Bellek kullanımını analiz etme.Zaman içinde iki nokta arasındaki bellek kullanımını karşılaştırabilir miyim?
Bellek aracındaki anlık görüntüleri karşılaştırın veya fark işlevini kullanarak iki yığın dökümünü karşılaştırın. Bkz. Bellek kullanımını analiz etme.
Dış Kod Hata Ayıklama
Hata ayıklama sırasında yalnızca kullanıcı kodunu görebilir miyim?
Just My Code, sisteme, çerçeveye ve diğer kullanıcı dışı kodlara yapılan çağrıların üzerinden otomatik olarak geçen bir Visual Studio hata ayıklama özelliğidir. Çağrı Yığını penceresinde, Just My Code bu çağrıları [Dış Kod] çerçevelerine daraltıyor. Bkz. Just My Code ile yalnızca kullanıcı kodunda hata ayıklama
Programımın yürüttüğü ham derleme yönergelerini nasıl görüntüleyebilir veya hatalarını ayıklayabilirim?
Windows > Ayrıştırma Hatalarını Ayıkla'dan > Ayrıştırma Penceresini kullanın. Tek seferde bir yönergenin üzerine gidebilir ve hatta tek tek derleme yönergelerinde kesme noktaları ayarlayabilirsiniz.
.NET Kitaplıkları için kaynak kodu görebilir miyim?
.NET Kitaplıklarının simgelerini ve kaynağını indirmek için Hata Ayıklama > Seçenekleri > Simgelerinden Microsoft Sembol Sunucularını etkinleştirin. Bkz. Simge belirtme
PdB'leri belirli veya paylaşılan bir konumdan veya sunucudan nasıl yükleyebilirim?
Hata Ayıklama > Seçenekleri > Simgeleri'nden Sembol Sunucularınızı yapılandırın. Bkz. Simge belirtme
Belirli bir PDB'yi nasıl hiç yüklemem? Ya da her zaman nasıl yükleyebilirim?
Hata Ayıklama > Seçenekleri > Simgeleri'nde Dahil Et ve Dışla Listelerinizi yapılandırın.
Bkz. Simge belirtme
Hata ayıklamayı yapılandırma
Hata ayıklayıcı ayarlarını Nasıl yaparım? yapılandırabilirsiniz?
Hata ayıklayıcı seçeneklerini ve hata ayıklayıcısı proje ayarlarını yapılandırmak için bkz . Hata ayıklayıcısı ayarları ve hazırlığı.
Hata ayıklayıcıda gösterilen bilgileri nasıl özelleştirebilirim?
Nesne türü dışındaki bilgileri farklı hata ayıklayıcı pencerelerindeki değer olarak göstermek isteyebilirsiniz. C#, Visual Basic, F# ve C++/CLI kodu için DebuggerDisplay özniteliğini kullanın. Daha gelişmiş seçenekler için özel bir görselleştirici oluşturarak kullanıcı arabirimini de özelleştirebilirsiniz. Yerel C++ için NatVis çerçevesini kullanın.
Ek görevler
Dökümü kaydetmem gerekiyor mu?
Hata ayıklama sırasında bir hata veya kesme noktasında durdurulurken Dökümü Farklı Kaydet Hata Ayıklama'yı > seçin. Bkz. Döküm dosyaları
Döküm dosyasını analiz Nasıl yaparım??
Visual Studio'da Dosya > Aç'a tıklayarak dökümü açın. Hata ayıklamayı başlatmak için Yalnızca Yönetilen ile Hata Ayıkla, Yalnızca Yerel Hata Ayıkla, Karışık Hata Ayıkla veya Yönetilen Bellekle Hata Ayıkla'yı seçin. Bkz. Döküm dosyaları
Hata ayıklama oturumu sırasında kodu düzenleyebilir miyim?
Düzenle ve devam et'i kullanın. XAML için XAML Çalışırken Yeniden Yükleme kullanın.
Uzak makinelerde nasıl hata ayıklayabilirim?
Bkz. Uzaktan hata ayıklama.
Performans sorunlarını nasıl düzeltebilirim?
Nasıl yaparım? bir özel durum düzeltildi mi?
Bkz . Özel durumu düzeltme.