Genel hata ayıklama seçenekleri

Visual Studio hata ayıklayıcı seçeneklerini ayarlamak için Araçlar>Seçenekler'ive Hata Ayıklama altında Genel seçeneklerinin yanındaki kutucukları seçin veya seçimini kaldırın. tüm varsayılan ayarları Araçları>İçeri ve Dışarı Aktarma Ayarları ile geri yükleyebilir>tüm ayarları sıfırlayabilirsiniz. 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ı kaydedin ve ardından kaydedilen ayarlarınızı içeri aktarın.

Aşağıdaki Genel seçeneklerini ayarlayabilirsiniz:

Tüm kesme noktalarını silmeden önce sor:Tüm Kesme Noktalarını Silme komutunu tamamlamadan önce onay gerektirir.

Bir işlemkesildiğinde tüm işlemleri boz: Bir kesme oluştuğunda hata ayıklayıcının eklendiği tüm işlemleri aynı anda keser.

Özel durumlar uygulama etki alanı veya yönetilen/yerel sınırlar arasında geçtiğinde: Yönetilen veya karma mod hata ayıklamasında, ortak dil çalışma zamanı, aşağıdaki şartlar sağlandığında uygulama etki alanı sınırlarını veya yönetilen/yerel sınırları aşan özel durumları yakalayabilir:

  1. Yerel kod, COM Birlikte Çalışma kullanarak yönetilen kodu çağırdığında ve yönetilen kod bir hata fırlattığında. Bkz. COM ile Birlikte Çalışma Giriş.

  2. 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 hata ile karşılaştığında. Bkz. uygulama etki alanlarıyla programlama.

  3. Kod bir işlevi yansıma kullanarak çağırdığında ve bu işlev bir istisna fırlattığında. Bkz. Yansıma.

2 ve 3 numaralı koşullarda, özel durum bazen ortak dil çalışma zamanından ziyade mscorlib'daki yönetilen kod tarafından yakalanır. Bu seçenek, mscorlibtarafından yakalanan istisnalarda kesintiyi 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, kaydeder penceresi ve adres kesme noktaları).

  • Kaynakkullanılamıyorsa ayrıştırma göster: Kaynağın kullanılamadığı kodda hata ayıkladığınızda Ayrıştırma penceresini otomatik olarak gösterir.

Kesme noktası filtrelerini etkinleştir: 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ı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 veya Dikkat

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 Kodumu Etkinleştir: Hata ayıklayıcı, sistem kodunu ve hata ayıklama simgelerine sahip olmayan veya optimize edilmiş diğer kodları yoksayarak yalnızca kullanıcı kodunda ("Kodum") devreye girer ve adım adım ilerler.

  • Başlatma sırasında kullanıcı kodu yoksa uyar (Yalnızca yönetilen): Hata ayıklama Yalnızca Kodum etkin olarak başladığında, kullanıcı kodu yoksa ("Kodum") bu seçenek sizi uyarır.

.NET Framework kaynağı 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. Seçenekler iletişim kutusundaki, Hata Ayıklama kategorisinin Simgeler sayfasıyla önbellek konumunu 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ştir: Değişkenler pencerelerinde ve QuickWatch iletişim kutusunda özelliklerin ve örtük işlev çağrılarının otomatik değerlendirmesini açar.

  • Değişkenler penceresindeki (yalnızca C# ve JavaScript) nesneler üzerinde dize dönüştürme işlevini çağır.: Değişkenler pencerelerindeki nesneleri değerlendirirken örtük bir dize dönüştürme çağrısı yürütülü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ştir: Visual Studio hata ayıklayıcısına SrcSrv (srcsrv.dll) protokolunu uygulayan kaynak sunuculardan kaynak dosyaları almasını bildirir. 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 belirtme (.pdb) ve kaynak dosyaları.

Önemli

.pdb dosyaları okuma dosyalarda rastgele kod yürütebileceğinden, sunucuya güvendiğinizden emin olun.

  • Kaynak sunucu tanılama iletilerini Çıktı penceresine yazdır. : Kaynak sunucu desteği etkinleştirildiğinde, bu ayar tanılama görüntüsünü etkinleştirir.

  • 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.

  • sormadan her zaman 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ıyı Etkinleştir desteği: Visual Studio hata ayıklayıcısına, Kaynak Bağlantı bilgilerini içeren .pdb dosyalarının kaynak dosyalarını 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 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 tüm kaynak satırı vurgula (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 gerektir: 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 metniniAnlık pencereye yeniden yönlendir: Çıktı penceresinde normalde görünecek tüm hata ayıklayıcı iletilerini Anında penceresine gönderir.

Windowsdeğişkenlerinde 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üklenmesinde JIT iyileştirmesini devre dışı bırakma (yalnızca yönetilen): Bir modül yüklendiğinde ve hata ayıklayıcı bağlıyken 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ı kullanmayı etkinleştirin (hata ayıklama yeniden başlatması gerekir) 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ükle (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 dumpbin /exportskullanın. Tüm 32 bit sistem dll'leri için simgeler kullanılabilir. dumpbin /exports çıkışını okuyarak alfasayısal olmayan karakterler de dahil olmak üzere tam işlev adını görebilirsiniz. Bu, bir işlevde kesme noktası ayarlamak için kullanışlı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. Çağrılar, mevcut işlev (en derin iç içe yerleştirilmiş) en üstte olacak şekilde çağrı sırasına göre listelenir. Daha fazla bilgi için bkz. dumpbin /exports.

Paralel yığınlar diyagramını göster: 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: 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 kullan: 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 kullandığınızda sizi uyarır.

Windows hata ayıklama yığın ayırıcısını etkinleştir (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.

XAMLiçin Kullanıcı Arabirimi 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 Live Property Explore pencereleri görüntülenir. Daha fazla bilgi için bkz. hata ayıklarken XAML özelliklerini inceleme.

  • Canlı Görsel Ağaçseçili öğeleri önizleme: Bağlamı seçilen XAML öğesi de Canlı Görsel Ağaç penceresinde seçilir.

  • Uygulamaçalışma zamanı araçlarını gösterir: Hata ayıklanan XAML uygulamasının ana penceresindeki araç çubuğunda Canlı Görsel Ağaç komutlarını gösterir.

  • XAML Çalışırken Yeniden Yüklemeyi Etkinleştir: Uygulamanız çalışırken XAML Çalışırken Yeniden Yükleme özelliğini XAML koduyla kullanmanıza olanak tanır. (Bu özellik daha önce "XAML Düzenle ve Devam Et" olarak adlandırılıyordu)

  • Just My XAMLEtkinleş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 kaydedildiğinde XAML Çalışırken Yeniden Yükle uygula Visual Studio 2019 sürüm 16.6'dan itibaren, belgenizi kaydettiğinizde XAML Çalışırken Yeniden Yükleme uygulanır.

hata ayıklarken Tanılama Araçlarını Etkinleştir: Hata ayıklarken Tanılama Araçları penceresi görüntülenir.

hata ayıklarken Geçen süre PerfTipini göster: Kod penceresi, hata ayıklarken belirli bir yöntem çağrısının geçen süresini görüntüler.

Düzenle ve Devam Etetkinleş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ıklama ile Çalıştır düğmesini göster: Bu seçenek belirlendiğinde, hata ayıklama sırasında Tıklama ile Çalıştır düğmesi gösterilir.

Hata ayıklama durdurulduğunda konsolu otomatik olarak kapat: Visual Studio'ya hata ayıklama oturumunun sonunda konsolu kapatmasını söyler.

Hızlı ifade değerlendirmesini etkinleştir (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 izin verir.

Hata ayıklama sembollerini dış işlemde yükle (Yalnızca Yerel Uygulamalar için) Bu bellek optimizasyonunu hata ayıklama sırasında etkinleştirir.

Hata ayıklayıcıda durduğunuzda Visual Studio'yu önyüze getirin Hata ayıklayıcıda duraklattığınızda Visual Studio'yu önyüze taşır.

tr-TR: Genişletilmiş veri ipuçlarını tıklanana kadar açık tutun Bu seçenek seçildiğinde, genişletilmiş bir veri ipucu üzerine tıklanana kadar açık 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.NETiç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 olarak çalıştırırken Chrome JavaScript hata ayıklamasını başlatmak için deneysel bir yol 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ıklaması devre dışı bırakıldığında uyarı ver: Hata ayıklayıcı, betik hata ayıklama devre dışı bırakılmışken başlatıldığında bir uyarı iletişim kutusu görüntüler.

Yönetilen Uyumluluk Modu 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 Modu 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 projelerinde std::string gibi 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.

Ayrıca bkz.