Genel hata ayıklama seçenekleri
Visual Studio hata ayıklayıcısı seçeneklerini ayarlamak için Araçlar>Seçenekleri'ni seçin ve Hata Ayıklama'nın altında Genel seçenekler'in yanındaki kutuları seçin veya seçimini kaldırın. Araçlar>İçeri ve Dışarı Aktarma Ayarlar> Tüm ayarları yeniden ayarla ile tüm varsayılan ayarları geri yükleyebilirsiniz. Ayarların bir alt kümesini sıfırlamak için, test etmek istediğiniz değişiklikleri yapmadan önce Ayarlar İçeri ve Dışarı Aktarma Sihirbazı ile ayarlarınızı kaydedin ve ardından kaydedilen ayarlarınızı içeri aktarın.
Aşağıdaki Genel seçenekleri ayarlayabilirsiniz:
Tüm kesme noktalarını silmeden önce sor: Tüm Kesme Noktalarını Sil komutunu tamamlamadan önce onay gerektirir.
Bir işlem kesildiğinde tüm işlemleri kırın: Hata ayıklayıcının eklendiği tüm işlemleri, bir kesme oluştuğunda aynı anda keser.
AppDomain veya yönetilen/yerel sınırlar arasında özel durumlar olduğunda kesme: Yönetilen veya karma modlu hata ayıklamada, ortak dil çalışma zamanı aşağıdaki koşullar doğru olduğunda uygulama etki alanı sınırlarını veya yönetilen/yerel sınırları aşan özel durumları yakalayabilir:
Yerel kod, COM Birlikte Çalışma kullanarak yönetilen kodu çağırdığında ve yönetilen kod bir özel durum oluşturduğunda. Bkz . COM Birlikte Çalışma'ya Giriş.
Uygulama etki alanı 1'de çalışan yönetilen kod, uygulama etki alanı 2'deki yönetilen kodu çağırdığında ve uygulama etki alanı 2'deki kod bir özel durum oluşturur. Bkz. Uygulama etki alanlarıyla programlama.
Kod bir işlevi yansıma kullanarak çağırdığında ve bu işlev bir özel durum oluşturur. Bkz. Düşünceler ion.
2. ve 3. koşullarda, özel durum bazen ortak dil çalışma zamanı yerine içindeki mscorlib
yönetilen kod tarafından yakalanılır. Bu seçenek tarafından mscorlib
yakalanan özel durumlarda hataya neden olan işlemleri etkilemez.
Adres düzeyinde hata ayıklamayı etkinleştirme: Adres düzeyinde hata ayıklama için gelişmiş özellikleri etkinleştirir ( Ayrıştırma penceresi, Yazmaçlar penceresi ve adres kesme noktaları).
- Kaynak kullanılamıyorsa ayrıştırma göster: Kaynağın kullanılamadığı kodda hata ayıkladığınızda Otomatik olarak Ayrıştırma penceresini gösterir.
Kesme noktası filtrelerini etkinleştirme: Kesme noktalarına yalnızca belirli işlemleri, iş parçacıklarını veya bilgisayarları etkileyecek şekilde filtre ayarlamanıza olanak tanır.
Yeni Özel Durum Yardımcısı'nı kullanın: Özel durum yardımcısının yerini alan Özel Durum Yardımcısı'nı etkinleştirir. (Özel Durum Yardımcısı, Visual Studio 2017'den itibaren desteklenir)
Not
Yönetilen kod için bu seçenek daha önce Özel durum yardımcısını etkinleştir olarak adlandırılıyordu.
Yalnızca Benim Kodumu Etkinleştir: Hata ayıklayıcı, sistem kodunu ve iyileştirilmiş veya hata ayıklama simgeleri olmayan diğer kodları yoksayarak yalnızca kullanıcı kodunu ("Kodum") görüntüler ve bu kodun içine girer.
- Başlatma sırasında kullanıcı kodu yoksa uyarır (Yalnızca yönetilen): Hata ayıklama Yalnızca Kodum etkin olarak başladığında, kullanıcı kodu yoksa bu seçenek sizi uyarır ("Kodum").
.NET Framework kaynak adımlarını etkinleştirme: Hata ayıklayıcının .NET Framework kaynağına adım atmasına izin verir. Bu seçeneğin etkinleştirilmesi Yalnızca Benim Kodum'un otomatik olarak devre dışı bırakılmasına neden olur. .NET Framework simgeleri bir önbellek konumuna indirilir. Önbellek konumunu Seçenekler iletişim kutusu, Hata ayıklama kategorisi, Simgeler sayfasıyla değiştirin.
Özellikler ve işleçler üzerinde adım atma (Yalnızca yönetilen): Hata ayıklayıcının yönetilen koddaki özelliklere ve işleçlere adım atmasını engeller.
Özellik değerlendirmesini ve diğer örtük işlev çağrılarını etkinleştirme: Değişkenler penceresinde ve QuickWatch iletişim kutusunda özelliklerin ve örtük işlev çağrılarının otomatik değerlendirmesini açar.
- Değişken pencerelerindeki nesnelerde dize dönüştürme işlevini çağırma (yalnızca C# ve JavaScript): Değişkenler pencerelerindeki nesneleri değerlendirirken örtük bir dize dönüştürme çağrısı yürütür. Sonuç, tür adı yerine dize olarak görüntülenir. Yalnızca C# kodunda hata ayıklama sırasında geçerlidir. Bu ayar DebuggerDisplay özniteliği tarafından geçersiz kılınabilir (bkz . DebuggerDisplay özniteliğini kullanma).
Kaynak sunucu desteğini etkinleştirme: Visual Studio hata ayıklayıcısına SrcSrv (srcsrv.dll
) protokolunu uygulayan kaynak sunuculardan kaynak dosyaları almasını söyler. Team Foundation Server ve Windows için Hata Ayıklama Araçları, protokolü uygulayan iki kaynak sunuculardır. SrcSrv kurulumu hakkında daha fazla bilgi için SrcSrv belgelerine bakın. Ayrıca bkz . Simge (.pdb) ve kaynak dosyaları belirtme.
Önemli
.pdb dosyalarını okumak dosyalarda rastgele kod yürütebileceğinden, sunucuya güvendiğinizden emin olun.
Kaynak sunucu tanılama iletilerini Çıktı penceresine yazdırın: Kaynak sunucu desteği etkinleştirildiğinde, bu ayar tanılama görüntüsünü açar.
Kısmi güven derlemeleri için kaynak sunucuya izin ver (Yalnızca yönetilen): Kaynak sunucu desteği etkinleştirildiğinde, bu ayar kısmi güven derlemeleri için kaynakları almama varsayılan davranışını geçersiz kılar.
Her zaman sorulmadan güvenilmeyen kaynak sunucu komutlarını çalıştırın: Kaynak sunucu desteği etkinleştirildiğinde, bu ayar güvenilmeyen bir komut çalıştırırken varsayılan istem davranışını geçersiz kılar.
Kaynak Bağlantı desteğini etkinleştirme: Visual Studio hata ayıklayıcısına Kaynak Bağlantı bilgilerini içeren .pdb dosyaları için kaynak dosyaları indirmesini söyler. Kaynak Bağlantısı hakkında daha fazla bilgi için bkz . Kaynak bağlantı belirtimi.
Önemli
Kaynak Bağlantı http veya https kullanarak dosya indireceği için .pdb dosyasına güvendiğinize emin olun.
- Tüm Kaynak Bağlantı istekleri için Git Kimlik Bilgileri Yöneticisi kimlik doğrulamasına geri dönün: Kaynak Bağlantı desteği etkinleştirildiğinde ve bir Kaynak Bağlantı isteği kimlik doğrulaması başarısız olduğunda Visual Studio Git Kimlik Bilgileri Yöneticisi'ni çağırır.
Kesme noktaları ve geçerli deyim için kaynak satırın tamamını vurgulayın (yalnızca C++): Hata ayıklayıcı bir kesme noktasını veya geçerli deyimi vurguladığında, satırın tamamını vurgular.
Kaynak dosyaların özgün sürümle tam olarak eşleşmesini iste: Hata ayıklayıcıya bir kaynak dosyanın hata ayıkladığınız yürütülebilir dosyayı oluşturmak için kullanılan kaynak kodun sürümüyle eşleştiklerini doğrulamasını söyler. Sürüm eşleşmediğinde, eşleşen bir kaynak bulmanız istenir. Eşleşen bir kaynak bulunamazsa, hata ayıklama sırasında kaynak kodu görüntülenmez.
Tüm Çıkış penceresi metnini Anlık pencereye yeniden yönlendirin: Normalde Çıkış penceresinde görünecek tüm hata ayıklayıcı iletilerini hemen penceresine gönderir.
Değişkenlerin pencerelerinde nesnelerin ham yapısını göster: Tüm nesne yapısı görünümü özelleştirmelerini kapatır. Görünüm özelleştirmeleri hakkında daha fazla bilgi için bkz . Yönetilen nesnelerin özel görünümlerini oluşturma.
Modül yükünde JIT iyileştirmesini gizleme (Yalnızca yönetilen): Bir modül yüklendiğinde ve hata ayıklayıcı eklendiğinde JIT derlendiğinde yönetilen kodun JIT iyileştirmesini devre dışı bırakır. İyileştirmeyi devre dışı bırakmak, performans pahasına bazı sorunların hatalarını ayıklamayı kolaylaştırabilir. Just My Code kullanıyorsanız, JIT iyileştirmesini engellemek kullanıcı dışı kodun kullanıcı kodu ("Kodum") olarak görünmesine neden olabilir. Daha fazla bilgi için bkz . JIT iyileştirme ve hata ayıklama.
ASP.NET (Chrome, Microsoft Edge ve IE) için JavaScript hata ayıklamasını etkinleştirme: ASP.NET uygulamalar için betik hata ayıklayıcısını etkinleştirir. Chrome'da ilk kullanımda, yüklediğiniz Chrome uzantılarını etkinleştirmek için tarayıcıda oturum açmanız gerekebilir. Eski davranışa geri dönmek için bu seçeneği devre dışı bırakın.
JavaScript'te geçerli hedeflerde hata ayıklamak için çok hedefli JavaScript hata ayıklayıcısını kullanarak etkinleştirme (hata ayıklamayı yeniden başlatma gerektirir) Tarayıcı ve arka uç bağlantısını aynı anda etkinleştirir ve doğrudan düzenleyiciden istemcide ve sunucuda çalışan kodunuzda hata ayıklamanıza olanak tanır.
Dll dışarı aktarmalarını yükleme (yalnızca yerel): Dll dışarı aktarma tablolarını yükler. Dll dışarı aktarma tablolarındaki sembol bilgileri, Windows iletileri, Windows yordamları (WindowProcs), COM nesneleri veya hazırlama ile ya da simge içermeyen herhangi bir dll ile çalışıyorsanız yararlı olabilir. Dll dışarı aktarma bilgilerinin okunması biraz ek yük gerektirir. Bu nedenle, bu özellik varsayılan olarak kapalıdır.
Dll'nin dışarı aktarma tablosunda hangi simgelerin kullanılabilir olduğunu görmek için kullanın dumpbin /exports
. Tüm 32 bit sistem dll'leri için simgeler kullanılabilir. Çıkışı okuyarak dumpbin /exports
alfasayısal olmayan karakterler de dahil olmak üzere tam işlev adını görebilirsiniz. Bu, bir işlev bir kesme noktası ayarlamak için yararlıdır. Dll dışarı aktarma tablolarındaki işlev adları hata ayıklayıcının başka bir yerinde kesilmiş olarak görünebilir. Aramalar geçerli işlev en üstte (en yoğun şekilde iç içe geçmiş) olacak şekilde arama sırasıyla listelenir. Daha fazla bilgi için bkz . dumpbin /exports.
Paralel yığınlar diyagramını göster alt-yukarı: Paralel Yığınlar penceresinde yığınların hangi yönde görüntüleneceğini denetler.
Yazılan veriler değeri değiştirmediyse GPU bellek erişimi özel durumlarını yoksayın: Veriler değişmediyse hata ayıklama sırasında algılanan yarış koşullarını yoksayar. Daha fazla bilgi için bkz . GPU Kodunda Hata Ayıklama.
Yönetilen Uyumluluk Modu'nu kullanma: Bu senaryoları etkinleştirmek için varsayılan hata ayıklama altyapısını eski bir sürümle değiştirir:
Kendi İfade Değerlendiricisini sağlayan C#, Visual Basic veya F# dışında bir .NET dili kullanıyorsunuz (bu C++/CLI'yı içerir).
Karma mod hata ayıklaması sırasında C++ projeleri için Düzenle ve Devam Et'i etkinleştirmek istiyorsunuz.
Not
Yönetilen Uyumluluk modu seçildiğinde, yalnızca varsayılan hata ayıklama altyapısında uygulanan bazı özellikler devre dışı bırakılır. Visual Studio 2012'de eski hata ayıklama altyapısı değiştirildi.
Güvenli olmayabilecek işlemlere karşı özel hata ayıklayıcı görselleştiricileri kullanırken uyar (Yalnızca yönetilen):Visual Studio, güvenli olmayan kod çalıştırabileceği için hata ayıklama işleminde kod çalıştıran özel bir hata ayıklayıcısı görselleştiricisi kullanırken sizi uyarır.
Windows hata ayıklama yığın ayırıcısını etkinleştirme (yalnızca yerel): Yığın tanılamasını geliştirmek için Windows hata ayıklama yığınını etkinleştirir. Bu seçeneğin etkinleştirilmesi hata ayıklama performansını etkiler.
XAML için Ui Hata Ayıklama Araçlarını Etkinleştirme: Desteklenen bir proje türünde hata ayıklamaya (F5) başladığınızda Canlı Görsel Ağaç ve Canlı Özellik Araştırma pencereleri görüntülenir. Daha fazla bilgi için bkz . Hata ayıklarken XAML özelliklerini inceleme.
Canlı Görsel Ağaç'ta seçili öğeleri önizleme: Bağlamı seçilen XAML öğesi de Canlı Görsel Ağaç penceresinde seçilir.
Uygulamada çalışma zamanı araçlarını göster: Hata ayıklanan XAML uygulamasının ana penceresindeki bir araç çubuğundaKi Canlı Görsel Ağaç komutlarını gösterir.
XAML Çalışırken Yeniden Yükleme etkinleştirme: Uygulamanız çalışırken XAML koduyla XAML Çalışırken Yeniden Yükleme özelliğini kullanmanıza olanak tanır. (Bu özellik daha önce "XAML Düzenle ve Devam Et" olarak adlandırılıyordu)
Just My XAML'yi etkinleştir: Visual Studio 2019 sürüm 16.4'den başlayarak, Canlı Görsel Ağaç varsayılan olarak yalnızca kullanıcı kodu olarak sınıflandırılan XAML'yi gösterir. Bu seçeneği devre dışı bırakırsanız, araçta oluşturulan tüm XAML kodu gösterilir.
Bir öğe Seçildiğinde seçim modunu kapat Visual Studio 2019 sürüm 16.4'te başlayarak, bir öğe seçildiğinde uygulama içi araç çubuğu öğesi seçici düğmesi (Seçimi etkinleştir) kapanır. Bu seçeneği devre dışı bırakırsanız, uygulama içi araç çubuğu düğmesine yeniden tıklayana kadar öğe seçimi açık kalır.
Belge kaydetmeye XAML Çalışırken Yeniden Yükleme uygulama Visual Studio 2019 sürüm 16.6'dan başlayarak, belgenizi kaydettiğinizde XAML Çalışırken Yeniden Yükleme uygular.
Hata ayıklarken Tanılama Araçları'nı etkinleştirme: Hata ayıklarken Tanılama Araçları penceresi görüntülenir.
Hata ayıklama sırasında geçen perftip süresini göster: Hata ayıklarken kod penceresi belirli bir yöntem çağrısının geçen süresini görüntüler.
Düzenle ve Devam Et'i Etkinleştir: Hata ayıklama sırasında Düzenle ve Devam Et işlevini etkinleştirir.
Yerel Düzenlemeyi etkinleştir ve Devam Et: Yerel C++ kodunda hata ayıklarken Düzenle ve Devam Et işlevini kullanabilirsiniz. Daha fazla bilgi için bkz . Düzenle ve Devam Et (C++).
Devam ederken değişiklikleri uygula (Yalnızca yerel): Visual Studio, işleme kesme durumundan devam ederken yaptığınız tüm bekleyen kod değişikliklerini otomatik olarak derler ve uygular. Seçili değilse, Hata Ayıklama menüsünün altındaki Kod Değişikliklerini Uygula öğesini kullanarak değişiklikleri uygulamayı seçebilirsiniz.
Eski kod hakkında uyarı (Yalnızca yerel): Eski kodla ilgili uyarılar alın.
Hata ayıklama sırasında Düzenleyicide Tıkla düğmesini göster: Bu seçenek belirlendiğinde, hata ayıklama sırasında Tıkla çalıştır düğmesi gösterilir.
Hata ayıklama durduğunda konsolu otomatik olarak kapatın: Visual Studio'ya hata ayıklama oturumunun sonunda konsolu kapatmasını söyler.
Hızlı ifade değerlendirmesini etkinleştirme (Yalnızca yönetilen): Hata ayıklayıcının basit özelliklerin ve yöntemlerin yürütülmesini benzeterek daha hızlı değerlendirme denemesine olanak tanır.
Dış işlemde hata ayıklama sembollerini yükleme (Yalnızca yerel) Hata ayıklama sırasında bu bellek iyileştirmesini etkinleştirir.
Hata ayıklayıcısını kırdığınızda Visual Studio'yu ön plana getirin, hata ayıklayıcıda duraklattığınızda Visual Studio'yu ön plana değiştirir.
Genişletilmiş veri ipuçlarını tıklanana kadar açık tutun Bu seçenek belirlendiğinde, genişletilmiş bir veri ipucu siz tıklanana kadar genişletilmiş olarak kalır.
Visual Studio'nun eski sürümlerinde kullanılabilen seçenekler
Visual Studio'nun eski bir sürümünü kullanıyorsanız bazı ek seçenekler mevcut olabilir.
UWP JavaScript Uygulamaları için Edge Geliştirici Araçlarını Etkinleştirme (Deneysel): Microsoft Edge'de UWP JavaScript uygulamaları için geliştirici araçlarını etkinleştirir.
ASP.NET için eski Chrome JavaScript hata ayıklayıcısını etkinleştirme: ASP.NET uygulamalar için eski Chrome JavaScript betik hata ayıklayıcısını etkinleştirir. Chrome'da ilk kullanımda, yüklediğiniz Chrome uzantılarını etkinleştirmek için tarayıcıda oturum açmanız gerekebilir.
Özel durum yardımcısını etkinleştirme: Yönetilen kod için özel durum yardımcısını etkinleştirir. Visual Studio 2017'den itibaren Özel Durum Yardımcısı, özel durum yardımcısının yerini aldı.
İşlenmeyen özel durumlarda çağrı yığınını geri alın: Çağrı Yığını penceresinin çağrı yığınını işlenmeyen özel durum oluşmadan önceki noktaya geri döndürmesine neden olur.
Visual Studio'yu Yönetici istrator olarak çalıştırırken Chrome JavaScript hata ayıklamasını başlatmak için deneysel bir yöntem kullanın: Visual Studio'ya JavaScript hata ayıklaması sırasında Chrome'u başlatmanın yeni bir yolunu denemesini söyler.
Başlatma sırasında simge yoksa uyar (yalnızca yerel): Hata ayıklayıcının sembol bilgisi olmayan bir programda hata ayıkladığınızda bir uyarı iletişim kutusu görüntüler.
Başlatma sırasında betik hata ayıklamanın devre dışı bırakılıp devre dışı bırakıldığını uyarın: Betik hata ayıklama devre dışıyken hata ayıklayıcı başlatıldığında bir uyarı iletişim kutusu görüntüler.
Yönetilen Uyumluluk Modu'nu kullan: Bu seçenek belirlendiğinde, hata ayıklayıcı C++/CLI kodunda hata ayıklarken gerekli olan Visual Studio 2010 yönetilen hata ayıklayıcısını kullanır.
Yerel Uyumluluk Modunu Kullan: Bu seçenek belirlendiğinde, hata ayıklayıcı yeni yerel hata ayıklayıcı yerine Visual Studio 2010 yerel hata ayıklayıcısını kullanır.
- Yeni hata ayıklama altyapısı .NET C++ ifadelerinin değerlendirilmesini desteklemediğinden, .NET C++ kodunda hata ayıklarken bu seçeneği kullanın. Ancak, Yerel Uyumluluk Modu'nu etkinleştirmek, çalışmak için geçerli hata ayıklayıcısı uygulamasına bağımlı olan birçok özelliği devre dışı bırakır. Örneğin, eski altyapıda Visual Studio 2015 projelerindeki gibi
std::string
yerleşik türler için birçok görselleştirici yoktur. Bu durumlarda en iyi hata ayıklama deneyimi için Visual Studio 2013 projelerini kullanın.