Aracılığıyla paylaş


Visual Studio'da hata ayıklayıcısı için üretkenlik ipuçları ve püf noktaları öğrenin

Visual Studio hata ayıklayıcısı için birkaç üretkenlik ipucu ve püf noktası öğrenmek için bu konuyu okuyun. Hata ayıklayıcının temel özelliklerine bakmak için bkz . Hata ayıklayıcıya ilk bakış. Bu konu başlığında, özellik turuna dahil olmayan bazı alanları ele alacağız.

Klavye kısayolları

Hata ayıklamayla ilgili en yaygın klavye kısayollarının listesi için Klavye kısayolları'nın Hata Ayıklama bölümüne bakın.

Veri sabitleme ipuçları

Hata ayıklama sırasında sık sık veri ipuçlarının üzerine geldiğinizde, kendinize hızlı erişim vermek için değişkenin veri ipucunu sabitlemek isteyebilirsiniz. Değişken yeniden başlatıldıktan sonra bile sabitlenmiş olarak kalır. Veri ipucunu sabitlemek için, üzerine gelinken raptiye simgesine tıklayın. Birden çok değişkeni sabitleyebilirsiniz.

Veri İpucu Sabitleme

Ayrıca, veri ipucunu genişletilmiş tutma ( yapışkan bir veri ipucu) veya bir veri ipucunu saydam hale getirme gibi diğer birçok yolla da veri ipuçlarını özelleştirebilirsiniz. Daha fazla bilgi için bkz. Verilerdeki veri değerlerini görüntüleme İpuçları kod düzenleyicisinde.

Kodunuzu düzenleyin ve hata ayıklamaya devam edin (C#, VB, C++)

Visual Studio tarafından desteklenen çoğu dilde kodunuzu hata ayıklama oturumunun ortasında düzenleyebilir ve hata ayıklamaya devam edebilirsiniz. Bu özelliği kullanmak için, hata ayıklayıcıda duraklatılmış durumdayken imlecinizle koduna tıklayın, düzenlemeler yapın ve hata ayıklamaya devam etmek için F5, F10 veya F11 tuşlarına basın.

Hata ayıklamayı düzenleme ve devam etme

Özelliği kullanma ve özellik sınırlamaları hakkında daha fazla bilgi için bkz . Düzenleme ve Devam Et.

XAML kodunu düzenleme ve hata ayıklamaya devam etme

Hata ayıklama oturumu sırasında XAML kodunu değiştirmek için bkz. XAML Çalışırken Yeniden Yükleme ile çalışan XAML kodunu yazma ve hata ayıklama.

Yeniden oluşturması zor olan sorunlarda hata ayıklama

Uygulamanızda belirli bir durumu yeniden oluşturmak zor veya zaman alıyorsa, koşullu kesme noktası kullanımının yardımcı olup olmayacağını göz önünde bulundurun. Uygulama istenen bir duruma (örneğin, bir değişkenin hatalı verileri depoladığı bir durum) girene kadar uygulama kodunuzda hata oluşmasını önlemek için koşullu kesme noktaları ve filtre kesme noktaları kullanabilirsiniz. İfadeleri, filtreleri, isabet sayılarını vb. kullanarak koşulları ayarlayabilirsiniz.

Koşullu kesme noktası oluşturmak için

  1. Kesme noktası simgesine (kırmızı küre) sağ tıklayın ve Koşullar'ı seçin.

  2. Kesme Noktası Ayarlar penceresinde bir ifade yazın.

    Koşullu Kesme Noktası

  3. Başka bir koşul türüyle ilgileniyorsanız Kesme Noktası Ayarlar iletişim kutusunda Koşullu ifade yerine Filtre'yi seçin ve filtre ipuçlarını izleyin.

Verileri hata ayıklayıcıda gösterilecek şekilde yapılandırma

C#, Visual Basic ve C++ için (yalnızca C++/CLI kodu), DebuggerDisplay özniteliğini kullanarak hata ayıklayıcıya hangi bilgilerin göstereceğini söyleyebilirsiniz. C++ kodu için Natvis görselleştirmelerini kullanarak da aynısını yapabilirsiniz.

Aynı uygulamaya art arda ekleme

İşleme ekleme özelliğini kullanırken, İşleme Yeniden Ekleme Hatalarını Ayıkla>(Shift+Alt+P) seçeneğini belirleyerek daha önce eklenmiş olduğunuz işleme hızla yeniden ekleyebilirsiniz. Bu komutu seçtiğinizde, hata ayıklayıcısı ilk olarak önceki işlem kimliğiyle eşleşmeyi deneyerek ve başarısız olursa önceki işlem adıyla eşleşerek eklediğiniz son işleme hemen eklemeye çalışır. Eşleşme bulunmazsa veya aynı ada sahip birkaç işlem varsa, doğru işlemi seçebilmeniz için İşleme Ekle iletişim kutusu açılır.

Kapsam dışı nesneyi izleme (C#, Visual Basic)

İzleme penceresi gibi hata ayıklayıcı pencerelerini kullanarak değişkenleri görüntülemek kolaydır. Ancak, gözcü penceresinde bir değişken kapsamın dışına çıktığında, değişkenin gri renkte olduğunu fark edebilirsiniz. Bazı uygulama senaryolarında, değişkenin kapsamı dışında olsa bile değişkenin değeri değişebilir ve bunu yakından izlemek isteyebilirsiniz (örneğin, bir değişken çöp toplanabilir). İzleme penceresinde değişkenin nesne kimliğini oluşturarak değişkeni izleyebilirsiniz.

Nesne kimliği oluşturmak için

  1. İzlemek istediğiniz değişkenin yakınında bir kesme noktası ayarlayın.

  2. Hata ayıklayıcısını (F5) başlatın ve kesme noktasında durdurun.

  3. Yerel Ayarlar penceresinde değişkeni bulun (Windows > YerelLerinde Hata Ayıkla>), değişkene sağ tıklayın ve Nesne Kimliği Oluştur'u seçin.

    Nesne Kimliği Oluşturma

  4. Yerel Ayarlar penceresinde artı $ bir sayı görmeniz gerekir. Bu değişken nesne kimliğidir.

  5. Nesne kimliği değişkenine sağ tıklayın ve Gözcü Ekle'yi seçin.

Daha fazla bilgi için bkz . Nesne Kimliği Oluşturma.

İşlevler için dönüş değerlerini görüntüleme

İşlevlerinizin dönüş değerlerini görüntülemek için, kodunuzda ilerlerken Otomatikler penceresinde görünen işlevlere bakın. İşlevin dönüş değerini görmek için ilgilendiğiniz işlevin zaten yürütülmüş olduğundan emin olun (şu anda işlev çağrısında durdurulduysanız F10 tuşuna basın). Pencere kapalıysa, Otomatikler penceresini açmak için Windows Otomatiklerinde Hata Ayıklama'yı > kullanın.>

Otomatik Pencere

Ayrıca, dönüş değerlerini görüntülemek için Hemen penceresine işlevler girebilirsiniz. (Kullanarak açınWindows > Anında Hatalarını Ayıkla>.)

Komut Penceresi

İzleme ve Anlık penceresinde gibi sahte değişkenlerini de kullanabilirsiniz.$ReturnValue

Görselleştiricideki dizeleri inceleme

Dizelerle çalışırken, biçimlendirilmiş dizenin tamamını görüntülemek yararlı olabilir. Düz metin, XML, HTML veya JSON dizesini görüntülemek için, dize değeri içeren bir değişkenin üzerine gelinken büyüteç simgesine VisualizerIcon tıklayın.

Dize Görselleştiricisi Açma

Dize görselleştiricisi, dize türüne bağlı olarak bir dizenin hatalı biçimlendirilmiş olup olmadığını bulmanıza yardımcı olabilir. Örneğin boş bir Değer alanı, dizenin görselleştirici türü tarafından tanınmadığını gösterir. Daha fazla bilgi için bkz . Dize Görselleştiricisi İletişim Kutusu.

JSON Dize Görselleştiricisi

Hata ayıklayıcı pencerelerinde görünen DataSet ve DataTable nesneleri gibi diğer birkaç tür için yerleşik bir görselleştirici de açabilirsiniz.

Bellek kullanımını analiz etme

Yığın anlık görüntülerini alıp karşılaştırabilir, bellek kullanımını iyileştirebilir ve bellek kullanım araçlarını kullanarak bellek sızıntısı bulabilirsiniz. Daha fazla bilgi için bkz . Bellek çözümleme aracı seçme.

Döküm dosyası oluşturma

Döküm dosyası, yürütülmekte olan işlemi ve belirli bir noktada bir uygulama için yüklenen modülleri gösteren bir anlık görüntüdür. Yığın bilgilerine sahip bir döküm, bu noktada uygulamanın belleğinin anlık görüntüsünü de içerir. Dökümler çoğunlukla geliştiricilerin erişimi olmayan makinelerdeki sorunlarda hata ayıklamak için kullanılır.

Döküm dosyasını kaydetmeniz gerekiyorsa Dökümü Farklı Kaydet'i > seçin.

Döküm dosyasını analiz etmek için Visual Studio'da Dosya > Aç'ı seçin. Döküm dosyasını kullanarak hata ayıklamaya başlamak için Yalnızca Yönetilen hata ayıklama, Yalnızca Yerel Hata Ayıklama, Karışık Hata Ayıklama veya Yönetilen Bellek ile Hata Ayıklama'yı seçin.

Daha fazla bilgi için bkz . Döküm dosyaları.

İşlenen özel durumlarda koda bölme

Hata ayıklayıcı işlenmeyen özel durumlarda kodunuzla karşılaşır. Bununla birlikte, işlenen özel durumlar (bir blok içinde try/catch oluşan özel durumlar gibi) hataların kaynağı olabilir ve ne zaman oluştuğunu araştırmak isteyebilirsiniz. Özel Durum Ayarlar iletişim kutusundaki seçenekleri yapılandırarak, hata ayıklayıcısını işlenen özel durumlar için koda bölünecek şekilde yapılandırabilirsiniz. Windows > Özel Durum Ayarlar Hatalarını Ayıkla'ya > tıklayarak bu iletişim kutusunu açın.

Özel Durum Ayarlar iletişim kutusu, hata ayıklayıcıya belirli özel durumlarda koda girmelerini söylemenizi sağlar. Aşağıdaki çizimde hata ayıklayıcı, bir System.NullReferenceException hata oluştuğunda kodunuzla kırılır. Daha fazla bilgi için bkz . Özel durumları yönetme.

Özel Durum Ayarlar İletişim Kutusu

Yürütme akışını değiştirme

Hata ayıklayıcı bir kod satırında duraklatılmışken, soldaki sarı ok işaretçisini almak için fareyi kullanın. Sarı ok işaretçisini kod yürütme yolunda farklı bir noktaya taşıyın. Ardından uygulamayı çalıştırmaya devam etmek için F5 veya adım komutunu kullanırsınız.

Yürütme İşaretçisini Taşıma

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. Daha fazla bilgi için bkz . Yürütme işaretçisini taşıma.

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.

Kilitlenmelerin ve yarış koşullarının hatalarını ayıklama

Çok iş parçacıklı uygulamalarda yaygın olarak karşılaşılan sorun türlerinin hatalarını ayıklamanız gerekiyorsa, genellikle hata ayıklama sırasında iş parçacıklarının konumunu görüntülemenize yardımcı olur. Bunu Kaynakta İş Parçacıklarını Göster düğmesini kullanarak kolayca yapabilirsiniz.

Kaynak kodunuzda iş parçacıklarını göstermek için:

  1. Hata ayıklama sırasında, Hata Ayıklama araç çubuğundaki Kaynakta İş Parçacıklarını Göster düğmesine Kaynakta İş Parçacıklarını Göster tıklayın.

  2. Pencerenin sol tarafındaki oluklara bakın. Bu satırda, iki bez iş parçacığına benzeyen bir iş parçacığı işaretçisi simgesi İş Parçacığı İşaretçisi görürsünüz. İş parçacığı işaretçisi, bir iş parçacığının bu konumda durdurulduğunu gösterir.

    bir iş parçacığı işaretçisi bir kesme noktası tarafından kısmen gizlenmiş olabilir dikkat edin.

  3. İşaretçiyi iş parçacığı işaretçisinin üzerine getirin. Bir Veri İpucu görüntülenir. Veri İpucu, durdurulan her iş parçacığının adını ve iş parçacığı kimlik numarasını bildirir.

    Paralel Yığınlar penceresinde iş parçacıklarının konumunu da görüntüleyebilirsiniz.

Hata ayıklayıcının uygulamanıza nasıl ekli olduğu hakkında daha fazla bilgi edinin (C#, C++, Visual Basic, F#)

Çalışan uygulamanıza eklemek için hata ayıklayıcı, hata ayıklamaya çalıştığınız uygulamanın tam olarak aynı derlemesi için oluşturulan sembol (.pdb) dosyalarını yükler. Bazı senaryolarda, sembol dosyaları hakkında biraz bilgi yararlı olabilir. Modüller penceresini kullanarak Visual Studio'nın sembol dosyalarını nasıl yükleyebileceğini inceleyebilirsiniz.

Windows Modüllerinde Hata Ayıkla'ya > tıklayarak hata ayıklarken Modüller penceresini > açın. Modüller penceresi, hata ayıklayıcının hangi modülleri kullanıcı kodu veya Kodum olarak değerlendirdiği ve modülün sembol yükleme durumunu size söyleyebilir. Çoğu senaryoda, hata ayıklayıcı kullanıcı kodu için sembol dosyalarını otomatik olarak bulur, ancak .NET koduna, sistem koduna veya üçüncü taraf kitaplık koduna adım atmak (veya hatalarını ayıklamak) istiyorsanız, doğru sembol dosyalarını almak için ek adımlar gerekir.

Modüller penceresinde sembol bilgilerini görüntüleme

Sembol bilgilerini doğrudan Modüller penceresinden sağ tıklayıp Simgeleri Yükle'yi seçerek yükleyebilirsiniz.

Bazen uygulama geliştiricileri uygulamaları eşleşen sembol dosyaları olmadan (ayak izini azaltmak için) gönderir, ancak daha sonra yayımlanan bir sürümde hata ayıklayabilmeleri için derleme için eşleşen sembol dosyalarının bir kopyasını tutar.

Hata ayıklayıcının kodu kullanıcı kodu olarak nasıl sınıflandırdiğini öğrenmek için bkz . Yalnızca Kodum. Sembol dosyaları hakkında daha fazla bilgi edinmek için bkz . Visual Studio hata ayıklayıcısında sembol (.pdb) ve kaynak dosyaları belirtme.

Daha fazla bilgi edinin

Ek ipuçları ve püf noktaları ve daha ayrıntılı bilgi için şu blog gönderilerine bakın:

Klavye Kısayolları