Aracılığıyla paylaş


Visual Studio'da ASP.NET veya ASP.NET Core uygulamalarının hatalarını ayıklama

Visual Studio'da ASP.NET ve ASP.NET Core uygulamalarında hata ayıklayabilirsiniz. İşlem, ASP.NET ve ASP.NET Core ile IIS Express veya yerel IIS sunucusunda çalıştırmanız arasında farklılık gösterir.

Not

Aşağıdaki adımlar ve ayarlar yalnızca yerel sunucudaki hata ayıklama uygulamaları için geçerlidir. Uzak IIS sunucusundaki uygulamalarda hata ayıklama işlemi İşleme Ekle'yi kullanır ve bu ayarları yoksayar. IIS'de uygulamalar ASP.NET uzaktan hata ayıklama hakkında daha fazla bilgi ve yönergeler için bkz. IIS bilgisayarında uzaktan hata ayıklama ASP.NET veya uzak IIS bilgisayarında Uzaktan hata ayıklama ASP.NET Çekirdek.

Yerleşik Kestrel ve IIS Express sunucuları Visual Studio'ya eklenir. Kestrel, ASP.NET Core projeleri için varsayılan hata ayıklama sunucusudur ve önceden yapılandırılmıştır. IIS Express, ASP.NET için varsayılan hata ayıklama sunucusudur.

Yerleşik IIS Express sunucusu Visual Studio'ya eklenir. IIS Express, ASP.NET ve ASP.NET Core projeleri için varsayılan hata ayıklama sunucusudur ve önceden yapılandırılmıştır. Hata ayıklamanın en kolay yoludur ve ilk hata ayıklama ve test için idealdir.

ASP.NET Core için Kestrel web sunucusunda da hata ayıklayabilirsiniz.

Yerel IIS sunucusu için önkoşullar

Ayrıca, uygulamayı çalıştırmak üzere yapılandırılmış bir yerel IIS sunucusunda (sürüm 8.0 veya üzeri) bir ASP.NET veya ASP.NET Core uygulamasında hata ayıklayabilirsiniz. Yerel IIS'de hata ayıklamak için aşağıdaki gereksinimleri karşılamanız gerekir:

  • Yüklü değilse ASP.NET ve web geliştirme iş yükünü yükleyin. (Visual Studio Yükleyicisi yeniden çalıştırın, Değiştir'i seçin ve bu iş yükünü ekleyin.)

  • Visual Studio'yu yönetici olarak çalıştırın.

  • IIS'yi ASP.NET ve/veya ASP.NET Core'un uygun sürümleriyle yükleyin ve doğru şekilde yapılandırın. IIS'yi ASP.NET Core ile kullanma hakkında daha fazla bilgi için bkz . IIS ile Windows'ta Konak ASP.NET Core. ASP.NET için bkz . IIS ve ASP.NET Modüllerini Yükleme.

  • Uygulamanın IIS üzerinde hatasız çalıştığından emin olun.

ASP.NET Core uygulamalarında hata ayıklama

Kestrel web sunucusu için yapılandırılan https veya proje adına dayalı bir varsayılan profil mevcut olabilir. Bunun yerine yerel IIS'de hata ayıklıyorsanız, yerel IIS hata ayıklama önkoşullarını karşıladığınızdan emin olun.

  1. Visual Studio'da ASP.NET Core projesini seçin Çözüm Gezgini Özellikler simgesine tıklayın veya Alt+Enter tuşuna basın ya da sağ tıklayıp Özellikler'i seçin.

  2. Hata Ayıkla sekmesini seçin ve hata ayıklama başlatma profillerini aç kullanıcı arabirimini açmak için bağlantıya tıklayın.

    Sunulan kullanıcı arabirimi, projenin launchSettings.json dosyasındaki ayarlara karşılık gelir. Bu dosya hakkında daha fazla bilgi için ASP.NET Core'da birden çok ortam kullanma bölümündeki Geliştirme ve launchSettings.json bölümüne bakın.

  3. Hata ayıklama için yapılandırılan profili seçin.

    • Kestrel için https profilini veya projenin adını taşıyan profili seçin.
    • IIS Express için açılan listeden IIS Express'i seçin.
    • Yerel IIS için Yeni'yi seçin ve yeni bir IIS profili oluşturun.
  4. Tarayıcıyı başlat'ın seçili olduğundan emin olun.

  5. Url, Uygulama URL'si ve Uygulama SSL URL'lerinin doğru olduğundan emin olun.

    Url , .NET veya .NET Core için ana bilgisayar URL'sinin konumunu belirtir. Projenin adını taşıyan bir profil için (içindeki commandName özelliği launchSettings.json Project'tir), Kestrel sunucusu belirtilen bağlantı noktasını dinler. Iis profili için bu genellikle Uygulama URL'si ile aynı değerdir. Daha fazla bilgi için Projeyi yapılandırma altındaki IIS başlatma profili bölümüne bakın.

    Uygulama URL'si ve Uygulama SSL URL'si , uygulama URL'lerini belirtir. Projeden sonra adlı bir profil için bu özellik kestrel sunucu URL'lerini (genellikle https://localhost:5001 ve http://localhost:5000) belirtir. IIS Express için Uygulama SSL URL'si genellikle http://localhost:44334şeklindedir.

  6. Ortam değişkenleri'nin altında geliştirme değeriyle ASPNETCORE_ENVIRONMENT olduğundan emin olun. Aksi takdirde değişkenini ekleyin.

    ASP.NET Core hata ayıklayıcısı ayarları

    Ortam değişkenleri hakkında daha fazla bilgi için bkz . Ortamlar.

  7. Uygulamada hata ayıklamak için projenizde bazı kodlarda kesme noktaları ayarlayın. Visual Studio araç çubuğunda yapılandırmanın Hata Ayıklama olarak ayarlandığından emin olun.

  8. Hata ayıklamaya başlamak için araç çubuğunda https, IIS Express veya <araç çubuğunda IIS profil adı gibi profil adını> seçin, Hata Ayıklama menüsünden Hata Ayıklamayı Başlat'ı seçin veya F5 tuşuna basın. Hata ayıklayıcısı kesme noktalarında duraklatılır. Hata ayıklayıcısı kesme noktalarına basamıyorsa bkz . Hata ayıklama sorunlarını giderme.

ASP.NET Core uygulamalarında hata ayıklama

IIS Express varsayılandır ve önceden yapılandırılmıştır. Yerel IIS'de hata ayıklıyorsanız yerel IIS hata ayıklama gereksinimlerini karşıladığınızdan emin olun.

  1. Visual Studio'da ASP.NET Core projesini seçin Çözüm Gezgini Özellikler simgesine tıklayın veya Alt+Enter tuşuna basın ya da sağ tıklayıp Özellikler'i seçin.

  2. Hata Ayıkla sekmesini seçin.

  3. Özellikler bölmesinde, Profil'in yanında,

    • IIS Express için açılan listeden IIS Express'i seçin.
    • Yerel IIS için açılan listeden uygulama adını seçin veya Yeni'yi seçin, yeni bir profil adı oluşturun ve Tamam'ı seçin.
  4. Başlat'ın yanındaki açılan listeden IIS Express'i veya IIS'yi seçin.

  5. Tarayıcıyı başlat'ın seçili olduğundan emin olun.

  6. Ortam değişkenleri'nin altında geliştirme değeriyle ASPNETCORE_ENVIRONMENT olduğundan emin olun. Aksi takdirde Ekle'yi seçin ve ekleyin.

    ASP.NET Core hata ayıklayıcısı ayarları

  7. Değişiklikleri kaydetmek için Dosya>Kaydet Seçili Öğeleri veya Ctrl+S tuşlarını kullanın.

  8. Uygulamada hata ayıklamak için projenizde bazı kodlarda kesme noktaları ayarlayın. Visual Studio araç çubuğunda yapılandırmanın Hata Ayıklama olarak ayarlandığından ve öykünücü alanında IIS Express veya yeni IIS profil adının göründüğünden emin olun.

  9. Hata ayıklamaya başlamak için araç çubuğunda IIS Express veya< IIS profil adını> seçin, Hata Ayıklama menüsünden Hata Ayıklamayı Başlat'ı seçin veya F5 tuşuna basın. Hata ayıklayıcısı kesme noktalarında duraklatılır. Hata ayıklayıcısı kesme noktalarına basamıyorsa bkz . Hata ayıklama sorunlarını giderme.

ASP.NET uygulamalarında hata ayıklama

IIS Express varsayılandır ve önceden yapılandırılmıştır. Yerel IIS'de hata ayıklıyorsanız yerel IIS hata ayıklama gereksinimlerini karşıladığınızdan emin olun.

  1. Visual Studio'da ASP.NET projesini seçin Çözüm Gezgini Özellikler simgesine tıklayın veya Alt+Enter tuşuna basın ya da sağ tıklayıp Özellikler'i seçin.

  2. Web sekmesini seçin.

    Web sekmesini görmüyorsanız bkz. ASP.NET Core uygulamalarında hata ayıklama. Web sekmesi yalnızca ASP.NET Framework için görünür.

  3. Özellikler bölmesinde, Sunucular'ın altında,

    • Kestrel için açılan listeden https'yi seçin.
    • IIS Express için açılan listeden IIS Express'i seçin.
    • Yerel IIS için,
      1. Açılan listeden Yerel IIS'yi seçin.
      2. Uygulamayı IIS'de henüz ayarlamadıysanız Proje URL'si alanının yanındaki Sanal Dizin Oluştur'u seçin.
  4. Hata Ayıklayıcılar'ın altında ASP.NET'ı seçin.

    ASP.NET hata ayıklayıcısı ayarlarını gösteren ekran görüntüsü.

  5. Değişiklikleri kaydetmek için Dosya>Kaydet Seçili Öğeleri Kaydet'i seçin (veya Ctrl+S tuşuna basın).

  6. Uygulamada hata ayıklamak için projenizde bazı kodlarda kesme noktaları ayarlayın. Visual Studio araç çubuğunda yapılandırmanın Hata Ayıklama olarak ayarlandığından ve istediğiniz tarayıcının öykünücü alanındaki IIS Express (<Tarayıcı adı>) veya Yerel IIS (<Tarayıcı adı>) içinde göründüğünden emin olun.

  7. Hata ayıklamayı başlatmak için araç çubuğunda IIS Express (<Tarayıcı adı>) veya Yerel IIS (<Tarayıcı adı>) öğesini seçin, Hata Ayıkla menüsünden Hata AyıklamayıBaşlat'ı seçin veya F5 tuşuna basın. Hata ayıklayıcısı kesme noktalarında duraklatılır. Hata ayıklayıcısı kesme noktalarına basamıyorsa bkz . Hata ayıklama sorunlarını giderme.

Hata ayıklama sorunlarını giderme

Yerel IIS hata ayıklaması kesme noktasına ilerleyemiyorsa, sorun gidermek için bu adımları izleyin.

  1. Web uygulamasını IIS'den başlatın ve doğru çalıştığından emin olun. Web uygulamasını çalışır durumda bırakın.

  2. Visual Studio'da İşleme Ekleme Hatalarını Ayıkla'yı > seçin veya Ctrl+Alt+P tuşlarına basın ve ASP.NET veya ASP.NET Core işlemine (genellikle w3wp.exe veya dotnet.exe) bağlanın. Daha fazla bilgi için bkz . İşleme Ekleme ve ASP.NET işleminin adını bulma.

İşleme Ekle'yi kullanarak bağlanıp kesme noktasına vurabiliyorsanız ancak Hata Ayıklama>Başlat Hata Ayıklama veya F5'i kullanarak bağlanamıyorsanız, proje özelliklerinde büyük olasılıkla bir ayar yanlıştır. HOSTS dosyası kullanıyorsanız, dosyanın da doğru yapılandırıldığından emin olun.

Web.config dosyasında hata ayıklamayı yapılandırma

ASP.NET projelerin varsayılan olarak, hata ayıklama ayarları dahil olmak üzere hem uygulama yapılandırması hem de başlatma bilgilerini içeren dosyaları vardır web.config . Dosyaların web.config hata ayıklama için doğru yapılandırılması gerekir. Önceki bölümlerdeki Özellikler ayarları dosyaları güncelleştirir web.config , ancak bunları el ile de yapılandırabilirsiniz.

Not

ASP.NET Core projelerinin başlangıçta web.config dosyaları yoktur, ancak uygulama yapılandırması ve başlatma bilgileri için ve launchSettings.json dosyaları kullanılırappsettings.json. Uygulamanın dağıtılması projede bir web.config dosya veya dosya oluşturur, ancak genellikle hata ayıklama bilgileri içermez.

İpucu

Dağıtım işleminiz ayarları güncelleştirebilir web.config , bu nedenle hata ayıklamayı denemeden önce hata ayıklama için yapılandırıldığından web.config emin olun.

Bir web.config dosyayı hata ayıklama için el ile yapılandırmak için:

  1. Visual Studio'da ASP.NET projesinin web.config dosyasını açın.

  2. Web.config bir XML dosyası olduğundan, etiketlerle işaretlenmiş iç içe bölümler içerir. configuration/system.web/compilation Bölümünü bulun. compilation(Öğe yoksa oluşturun.)

  3. öğesindeki özniteliğinin debug olarak trueayarlandığından compilation emin olun. (Öğe bir debug öznitelik içermiyorsacompilation, bunu ekleyin ve olarak ayarlayıntrue.)

    Varsayılan IIS Express sunucusu yerine yerel IIS kullanıyorsanız, öğesindeki compilation öznitelik değerinin targetFramework IIS sunucusundaki çerçeveyle eşleştiğinden emin olun.

    compilation dosyasının web.config öğesi aşağıdaki örnekteki gibi görünmelidir:

    Not

    Bu örnek kısmi web.config bir dosyadır. ve system.web öğelerinde configuration genellikle ek XML bölümleri vardır ve compilation öğesi başka öznitelikler ve öğeler de içerebilir.

    <configuration>
       ...
       <system.web>
           <compilation  debug="true"  targetFramework="4.6.1" ... >
              ...
           </compilation>
       </system.web>
    </configuration>
    

ASP.NET dosyalarda yapılan değişiklikleri web.config otomatik olarak algılar ve yeni yapılandırma ayarlarını uygular. Değişikliklerin etkili olması için bilgisayarı veya IIS sunucusunu yeniden başlatmanız gerekmez.

Bir web sitesi, her birinde dosya bulunan web.config çeşitli sanal dizinler ve alt dizinler içerebilir. ASP.NET uygulamalar, URL yolundaki daha yüksek düzeylerdeki dosyalardan web.config yapılandırma ayarlarını devralır. Hiyerarşik web.config dosya ayarları, hiyerarşideki bunların altındaki tüm ASP.NET uygulamalara uygulanır. Hiyerarşinin alt kısmındaki bir dosyada farklı bir web.config yapılandırma ayarlamak, üstteki dosyadaki ayarları geçersiz kılar.

Örneğin, www.microsoft.com/aaa/web.config belirtirseniz debug="true", bu uygulamalardan aaa birinin ayarı kendi web.config dosyasıyla geçersiz kılıp geçersiz kılmadığı dışında klasördeki veya alt klasöründeki aaa tüm uygulamalar bu ayarı devralır.

Önemli

Hata ayıklama modu, uygulamanızın performansını büyük ölçüde azaltır. Bir üretim uygulaması dağıttığınızda veya performans ölçümleri gerçekleştirdiğinizde, içinde ayarlayın debug="false" ve bir Yayın derlemesi web.config belirtin.