Visual Studio'da Azure Cloud Services (genişletilmiş destek) hizmetinde hata ayıklama
Visual Studio, Azure Cloud Services (genişletilmiş destek) ve sanal makinelerde hata ayıklamak için farklı seçenekler sunar.
Önkoşullar
- Azure geliştirme iş yükünün ve Bireysel Bileşen .NET Framework projesinin ve öğe şablonlarının yüklü olduğu Visual Studio (bkz. [Visual Studio indirmeleri] (https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-cta)). Bkz. Visual Studio'yu değiştirme.
- Azure hesabı. Azure hesabınız yoksa Visual Studio aboneleri için Azure avantajlarınızı etkinleştirin veya ücretsiz deneme sürümüne kaydolun.
Yerel bilgisayarınızda bulut hizmetinizde hata ayıklama
Yerel bir makinede bulut hizmetinizde hata ayıklamak için Azure İşlem Öykünücüsü'ni kullanarak zaman ve paradan tasarruf edebilirsiniz. Bir hizmeti dağıtmadan önce yerel olarak hata ayıklayarak işlem süresi ödemeden güvenilirliği ve performansı geliştirebilirsiniz. Ancak bazı hatalar yalnızca Azure'da bir bulut hizmeti çalıştırdığınızda oluşabilir. Hizmetinizi yayımlayıp hata ayıklayıcıyı bir rol örneğine eklerken uzaktan hata ayıklamayı etkinleştirirseniz bu hataların hatalarını ayıklayabilirsiniz.
Öykünücü, Azure İşlem hizmetinin simülasyonunu oluşturur ve yerel ortamınızda çalıştırılarak bulut hizmetinizi dağıtmadan önce test edip hatalarını ayıklayabilirsiniz. Öykünücü, rol örneklerinizin yaşam döngüsünü işler ve yerel depolama gibi sanal kaynaklara erişim sağlar. Visual Studio'dan hizmetinizin hatalarını ayıkladığınızda veya çalıştırdığınızda, öykünücü otomatik olarak arka plan uygulaması olarak başlatılır ve ardından hizmetinizi öykünücüye dağıtır. Öykünücüyü, yerel ortamda çalıştırıldığında hizmetinizi görüntülemek için kullanabilirsiniz. Öykünücünün tam sürümünü veya hızlı sürümünü çalıştırabilirsiniz. Bkz . Bir Bulut Hizmetini Yerel Olarak Çalıştırmak ve Hatalarını Ayıklamak için Öykünücü Express Kullanma.
Yerel bilgisayarınızda bulut hizmetinizde hata ayıklamak için
Azure Cloud Services (genişletilmiş destek) projenizi çalıştırmak için menü çubuğunda Hata AyıklamaYı>Başlat Hata Ayıklama'yı seçin. Alternatif olarak F5 tuşuna basabilirsiniz. İşlem Öykünücüsü'nin başlatıldığını belirten bir ileti görürsünüz. Öykünücü başlatıldığında sistem tepsisi simgesi bunu onaylar.
Bildirim alanında Azure simgesinin kısayol menüsünü açıp İşlem Öykünücüsü Kullanıcı Arabirimini Göster'i seçerek işlem öykünücüsü için kullanıcı arabirimini görüntüleyin.
Kullanıcı arabiriminin sol bölmesinde, işlem öykünücüsünün şu anda dağıtılan hizmetleri ve her hizmetin çalıştığı rol örnekleri gösterilir. Sağ bölmede yaşam döngüsü, günlük ve tanılama bilgilerini görüntülemek için hizmeti veya rolleri seçebilirsiniz. Odağı eklenen pencerenin üst kenar boşluğuna koyarsanız, sağ bölmeyi dolduracak şekilde genişletir.
Hata Ayıkla menüsündeki komutları seçerek ve kodunuzda kesme noktaları ayarlayarak uygulamada adım adım ilerleyin. Hata ayıklayıcıda uygulamada adım adım ilerlediğinizde, bölmeler uygulamanın geçerli durumuyla güncelleştirilir. Hata ayıklamayı durdurduğunuzda uygulama dağıtımı silinir. Uygulamanız bir web rolü içeriyorsa ve Web tarayıcısını başlatmak için Başlangıç eylemi özelliğini ayarladıysanız, Visual Studio web uygulamanızı tarayıcıda başlatır. Hizmet yapılandırmasında bir rolün örnek sayısını değiştirirseniz, bu yeni rol örneklerinin hatalarını ayıklayabilmeniz için bulut hizmetinizi durdurmanız ve hata ayıklamayı yeniden başlatmanız gerekir.
Not
Hizmetinizi çalıştırmayı veya hata ayıklamayı durdurduğunuzda, yerel işlem öykünücüsü ve depolama öykünücüsü durdurulmuyor. Bunları bildirim alanından açıkça durdurmanız gerekir.
Azure’daki bulut hizmetinde hata ayıklama
Bu bölümdeki yordamı kullanarak bir bulut hizmeti için uzaktan hata ayıklamayı etkinleştirirseniz, düşük performans göstermez veya ek ücret uygulanmaz. Hizmeti kullanan istemciler olumsuz etkilenebileceği için üretim hizmetinde uzaktan hata ayıklama kullanmayın.
Bulut hizmetinde uzaktan hata ayıklamayı etkinleştirmek için (genişletilmiş destek)
Varsayılan msvsmon bağlantı noktası için ServiceDefinition.csdef dosyasına bir Uç Nokta ekleyin. Visual Studio 2019 için 4024'tir.
<Endpoints> <InputEndpoint name="RemoteDebug" protocol="tcp" port="4024" localPort="4024" /> </Endpoints>
Not
Visual Studio'nun diğer sürümlerinde farklı bağlantı noktaları Uzaktan Hata Ayıklayıcı Bağlantı Noktası Atamaları vardır.
Azure projesinin kısayol menüsünü açın ve yayımla'yı seçin.
Hazırlama ortamını ve Hata ayıklama yapılandırmasını seçin.
Bu yalnızca bir kılavuzdur. Test ortamlarınızı üretim ortamında çalıştırmayı tercih edebilirsiniz. Ancak, Üretim ortamında uzaktan hata ayıklamayı etkinleştirirseniz kullanıcıları olumsuz etkileyebilirsiniz. Yayın yapılandırmasını seçebilirsiniz, ancak Hata Ayıklama yapılandırması hata ayıklamayı kolaylaştırır.
Cloud Services (genişletilmiş destek) sayfasında açıklanan normal adımları izleyin, ancak Tüm roller için Uzak Masaüstü'nü etkinleştir onay kutusunu seçin.
Uzak masaüstü kullanıcısı için bir kullanıcı adı ve parola oluşturmanız istenir ve daha sonra bu sanal makinede oturum açmanız gerekir.
Sonraki ekrana ilerleyin, ayarlarınızı gözden geçirin ve hazır olduğunuzda Yayımla'ya tıklayın ve dağıtımın tamamlanmasını bekleyin.
Azure portalında oturum açın ve hata ayıklamak istediğiniz Bulut Hizmeti'ne (genişletilmiş destek) gidin.
Sol bölmede Roller ve Örnekler'i seçin ve ardından uzaktan hata ayıklamayla ilgilendiğiniz rolü seçin.
Sağ taraftaki Rol Örneği açılır menüsünde Bağlan'a tıklayın ve bağlan düğmesini seçerek sanal makinede oturum açmanıza olanak sağlayacak bir uzak masaüstü dosyası indirin. Önceki bir adımda uzak masaüstünü etkinleştirdiğinizde oluşturduğunuz kimlik bilgilerini kullanarak oturum açın.
Uzak Azure sanal makinesinde, Uzaktan hata ayıklama bölümünde açıklandığı gibi Visual Studio 2019 Uzak araçlarını yükleyin.
Sanal makinedeki masaüstünden D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe komutunu yürütebilirsiniz. Yönetici olarak çalıştırdığınızdan emin olun.
Güvenlik duvarı üzerinden erişime izin vermek için istemleri kabul edin. msvsmon.exe bağlantıları dinlemeye başladığını belirten bir ileti görmeniz gerekir.
Azure portalında kaynak grubunu açın ve Bulut Hizmeti için genel IP Adresini (genişletilmiş destek) alın.
Azure'da bir bulut hizmetine (genişletilmiş destek) hata ayıklayıcı eklemek için
Not
Mümkün olduğunda, Yayımlama işleminde seçilen Hata ayıklama yapılandırmasıyla hata ayıklamanız gerekir, ancak bir Yayın yapılandırmasında hata ayıklıyorsanız, Visual Studio'da "Just My Code" araması yapmak için Ctrl+Q kullanın ve Araçlar>Seçenekler>Hata Ayıklayıcı>Genel'de Yalnızca Kodumu Etkinleştir seçeneğinin işaretini kaldırın. Yayın derlemeleri iyileştirilir ve bu nedenle "Kodum" olarak kabul edilmez.
İşleme Ekleme Hatalarını Ayıkla'yı>seçin (veya Ctrl+Alt+P tuşlarına basın).
Bağlantı türünü Varsayılan olarak tutun.
IP adresinizi ve bağlantı noktanızı kullanarak bağlantı hedefini girin:
{ipaddress}:4024
.Ekle'yi Otomatik olarak ayarlayın.
Uzak masaüstü kullanıcıyla aynı kimlik bilgilerini kullanarak oturum açın.
Tüm kullanıcılar için işlemi göster'i seçin. Çalışan rolünde hata ayıklarken WaWorkerHost.exe ekleyin; bir web rolünde hata ayıklarsanız w3wp.exe işlemine ekleyin; Bir Web API rolü için bu WaIISHost.exe.
Kesme noktaları ayarlayın (satıra gidin ve F9 tuşuna basın), sitenin genel URL'sine erişin ve hata ayıklamak için senaryoyu yeniden oluşturun.
Bulut hizmetinde uzaktan hata ayıklamayı etkinleştirmek için (genişletilmiş destek)
Varsayılan msvsmon bağlantı noktası için ServiceDefinition.csdef dosyasına bir Uç Nokta ekleyin. Visual Studio 2022 için bu, 4026'dır; Visual Studio 2019 için 4024'tir.
<Endpoints> <InputEndpoint name="RemoteDebug" protocol="tcp" port="4026" localPort="4026" /> </Endpoints>
Not
Visual Studio'nun diğer sürümlerinde farklı bağlantı noktaları Uzaktan Hata Ayıklayıcı Bağlantı Noktası Atamaları vardır.
.NET 4.8'i hedef alıyorsanız, ServiceConfiguration.Cloud.cscfg dosyasını açtığınızdan emin olun ve Cloud Services(genişletilmiş destek) yayımlarken öğesindeki
ServiceConfiguration
özniteliğinosFamily
değerini denetleyin. .NET 4.8 projesi için kullanınosFamily="7"
.Azure projesinin kısayol menüsünü açın ve yayımla'yı seçin.
Hazırlama ortamını ve Hata ayıklama yapılandırmasını seçin.
Bu yalnızca bir kılavuzdur. Test ortamlarınızı üretim ortamında çalıştırmayı tercih edebilirsiniz. Ancak, Üretim ortamında uzaktan hata ayıklamayı etkinleştirirseniz kullanıcıları olumsuz etkileyebilirsiniz. Yayın yapılandırmasını seçebilirsiniz, ancak Hata Ayıklama yapılandırması hata ayıklamayı kolaylaştırır.
Cloud Services (genişletilmiş destek) sayfasında açıklanan normal adımları izleyin, ancak Tüm roller için Uzak Masaüstü'nü etkinleştir onay kutusunu seçin.
Uzak masaüstü kullanıcısı için bir kullanıcı adı ve parola oluşturmanız istenir ve daha sonra bu sanal makinede oturum açmanız gerekir.
Sonraki ekrana ilerleyin, ayarlarınızı gözden geçirin ve hazır olduğunuzda Yayımla'ya tıklayın ve dağıtımın tamamlanmasını bekleyin.
Azure portalında oturum açın ve hata ayıklamak istediğiniz Bulut Hizmeti'ne (genişletilmiş destek) gidin.
Sol bölmede Roller ve Örnekler'i seçin ve ardından uzaktan hata ayıklamayla ilgilendiğiniz rolü seçin.
Sağ taraftaki Rol Örneği açılır menüsünde Bağlan'a tıklayın ve bağlan düğmesini seçerek sanal makinede oturum açmanıza olanak sağlayacak bir uzak masaüstü dosyası indirin. Önceki bir adımda uzak masaüstünü etkinleştirdiğinizde oluşturduğunuz kimlik bilgilerini kullanarak oturum açın.
Uzak Azure sanal makinesinde, Uzaktan hata ayıklama bölümünde açıklandığı gibi Visual Studio 2022 Uzak araçlarını yükleyin.
Sanal makinedeki masaüstünden, altındaki
Common7\IDE\Remote Debugger\x64
Visual Studio yükleme klasöründe msvsmon.exe komutunu yürütür. Yönetici olarak çalıştırdığınızdan emin olun.Güvenlik duvarı üzerinden erişime izin vermek için istemleri kabul edin. msvsmon.exe bağlantıları dinlemeye başladığını belirten bir ileti görmeniz gerekir.
Azure portalında kaynak grubunu açın ve Bulut Hizmeti için genel IP Adresini (genişletilmiş destek) alın.
Azure'da bir bulut hizmetine (genişletilmiş destek) hata ayıklayıcı eklemek için
Not
Mümkün olduğunda, Yayımlama işleminde seçilen Hata ayıklama yapılandırmasıyla hata ayıklamanız gerekir, ancak bir Yayın yapılandırmasında hata ayıklıyorsanız, Visual Studio'da "Just My Code" araması yapmak için Ctrl+Q kullanın ve Araçlar>Seçenekler>Hata Ayıklayıcı>Genel'de Yalnızca Kodumu Etkinleştir seçeneğinin işaretini kaldırın. Yayın derlemeleri iyileştirilir ve bu nedenle "Kodum" olarak kabul edilmez.
İşleme Ekleme Hatalarını Ayıkla'yı>seçin (veya Ctrl+Alt+P tuşlarına basın).
Bağlantı türünü Varsayılan olarak tutun.
IP adresinizi ve bağlantı noktanızı kullanarak bağlantı hedefini girin:
{ipaddress}:4026
.Ekle'yi Otomatik olarak ayarlayın.
Uzak masaüstü kullanıcıyla aynı kimlik bilgilerini kullanarak oturum açın.
Tüm kullanıcılar için işlemi göster'i seçin. Çalışan rolünde hata ayıklarken WaWorkerHost.exe ekleyin; bir web rolünde hata ayıklarsanız w3wp.exe işlemine ekleyin; Bir Web API rolü için bu WaIISHost.exe.
Kesme noktaları ayarlayın (satıra gidin ve F9 tuşuna basın), sitenin genel URL'sine erişin ve hata ayıklamak için senaryoyu yeniden oluşturun.
Azure'da uzaktan hata ayıklama sınırlamaları
Uzaktan hata ayıklama aşağıdaki sınırlamalara sahiptir:
Uzaktan hata ayıklama etkinleştirildiğinde, herhangi bir rolün 25'ten fazla örneğin bulunduğu bir bulut hizmetini yayımlayamazsınız.
Hata ayıklayıcı, 30400 - 30424, 31400 - 31424 ve 32400 - 32424 bağlantı noktalarını kullanır. Bu bağlantı noktalarından herhangi birini kullanmaya çalışırsanız hizmetinizi yayımlayamazsınız ve Azure etkinlik günlüğünde aşağıdaki hata iletilerinden biri görüntülenir:
- .cscfg dosyasını .csdef dosyasında doğrulanırken hata oluştu.
'rol' rolünün uç noktası
Microsoft.WindowsAzure.PlugIns.RemoteDebugger.Connector
için ayrılmış bağlantı noktası aralığı 'aralık', önceden tanımlanmış bir bağlantı noktası veya aralıkla çakışıyor. - Ayırma başarısız oldu. Daha sonra yeniden deneyin, VM boyutunu veya rol örneği sayısını azaltmayı deneyin veya farklı bir bölgeye dağıtmayı deneyin.
- .cscfg dosyasını .csdef dosyasında doğrulanırken hata oluştu.
'rol' rolünün uç noktası
Azure Uygulaması Hizmetinde Hata Ayıklama
Visual Studio'da İşleme Ekle iletişim kutusunu kullanarak Azure Uygulaması Hizmeti'nde çalışan programlarda hata ayıklayabilirsiniz.
Not
Bu yalnızca Visual Studio 2022 17.1'den başlayarak Azure Uygulaması Hizmeti için kullanılabilir.
Windows Azure Uygulaması Hizmetinde hata ayıklamak için
Hata Ayıkla'nın altında İşleme Ekle'yi seçin.
Bağlantı türünü Microsoft Azure Uygulaması Services olarak değiştirip Bul... seçeneğini belirleyin.
Açılan iletişim kutusunda Abonelik adını seçin.
Not
Azure Uygulaması Hizmetinizi içeren aboneliğe erişimi olan bir Microsoft Hesabında oturum açmanız gerekir.
Görünümü Kaynak Grubuna veya Kaynak Türüne göre filtreleyin veya ada göre arayın.
Ardından, hata ayıklamak istediğiniz App Service'i ve ardından Tamam'ı seçin.
Bu, App Service'inizde uzaktan hata ayıklamayı etkinleştirir ve eklenebilecek işlemlerin listesini gösterir.
Eklemek istediğiniz işlemi seçin ve ardından hata ayıklamayı başlatmak için Ekle'yi seçin.
Azure Sanal Makineler hatalarını ayıklama
Visual Studio'da Sunucu Gezgini'ne tıklayarak Azure Sanal Makineler üzerinde çalışan programlarda hata ayıklayabilirsiniz. Azure sanal makinesinde uzaktan hata ayıklamayı etkinleştirdiğinizde, Azure sanal makineye uzaktan hata ayıklama uzantısını yükler. Ardından, sanal makinedeki işlemlere ekleyebilir ve normalde yaptığınız gibi hata ayıklayabilirsiniz.
Not
Azure Resource Manager yığını aracılığıyla oluşturulan Sanal Makineler, Visual Studio 2019'da Bulut Gezgini kullanılarak uzaktan hata ayıklanabilir. Daha fazla bilgi için bkz . Bulut Gezgini ile Azure Kaynaklarını Yönetme.
Azure sanal makinesinde hata ayıklamak için
Sunucu Gezgini'nde Sanal Makineler düğümünü genişletin ve hata ayıklamak istediğiniz sanal makinenin düğümünü seçin.
Bağlam menüsünü açın ve Hata Ayıklamayı Etkinleştir'i seçin. Sanal makinede hata ayıklamayı etkinleştirmek istediğinizden emin olup olmadığınız sorulduğunda Evet'i seçin.
Azure, hata ayıklamayı etkinleştirmek için sanal makineye uzaktan hata ayıklama uzantısını yükler.
Uzaktan hata ayıklama uzantısının yüklenmesi tamamlandıktan sonra sanal makinenin bağlam menüsünü açın ve Hata Ayıklayıcı Ekle... öğesini seçin .
Azure, sanal makinedeki işlemlerin listesini alır ve bunları İşleme Ekle iletişim kutusunda gösterir.
İşleme Ekle iletişim kutusunda, sonuç listesini yalnızca hata ayıklamak istediğiniz kod türlerini gösterecek şekilde sınırlandırmak için Seç'i seçin. 32 bit veya 64 bit yönetilen kodun, yerel kodun veya her ikisinin hatalarını ayıklayabilirsiniz.
Sanal makinede hata ayıklamak istediğiniz işlemleri seçin ve ardından Ekle'yi seçin. Örneğin, sanal makinede bir web uygulamasında hata ayıklamak istiyorsanız w3wp.exe işlemini seçebilirsiniz. Daha fazla bilgi için bkz . Visual Studio ve Azure Rol Mimarisinde Bir veya Daha Fazla İşlemde Hata Ayıklama.
Hata ayıklama için bir web projesi ve sanal makine oluşturma
Azure projenizi yayımlamadan önce, hata ayıklama ve test senaryolarını destekleyen ve test ve izleme programlarını yükleyebileceğiniz bağımsız bir ortamda test etmek yararlı olabilir. Bu tür testleri çalıştırmanın bir yolu, bir sanal makinede uygulamanızda uzaktan hata ayıklamaktır.
Visual Studio ASP.NET projeleri, uygulama testi için kullanabileceğiniz kullanışlı bir sanal makine oluşturma seçeneği sunar. Sanal makine PowerShell, Uzak Masaüstü ve WebDeploy gibi yaygın olarak gerekli uç noktaları içerir.
Hata ayıklama için bir web projesi ve sanal makine oluşturmak için
Visual Studio'da yeni bir ASP.NET Web Uygulaması oluşturun.
Yeni ASP.NET Projesi iletişim kutusunun Azure bölümünde açılan liste kutusunda Sanal Makine'yi seçin. Uzak kaynak oluştur onay kutusunu seçili bırakın. Devam etmek için Tamam'ı seçin.
Azure'da sanal makine oluştur iletişim kutusu görüntülenir.
Not
Henüz oturum açmadıysanız Azure hesabınızda oturum açmanız istenir.
Sanal makine için çeşitli ayarları ve ardından Tamam'ı seçin. Daha fazla bilgi için bkz. Sanal Makineler.
DNS adı için girdiğiniz ad, sanal makinenin adı olacaktır.
Azure sanal makineyi oluşturur ve ardından Uzak Masaüstü ve Web Dağıtımı gibi uç noktaları sağlar ve yapılandırr.
Sanal makine tam olarak yapılandırıldıktan sonra Sunucu Gezgini'nde sanal makinenin düğümünü seçin.
Bağlam menüsünü açın ve Hata Ayıklamayı Etkinleştir'i seçin. Sanal makinede hata ayıklamayı etkinleştirmek istediğinizden emin olup olmadığınız sorulduğunda Evet'i seçin.
Azure, hata ayıklamayı etkinleştirmek için uzaktan hata ayıklama uzantısını sanal makineye yükler.
Projenizi Nasıl yapılır: Visual Studio'da Tek Tıklamayla Yayımla'yı Kullanarak Web Projesi Dağıtma bölümünde açıklandığı gibi yayımlayın. Sanal makinede hata ayıklamak istediğiniz için Web'i Yayımla sihirbazının Ayarlar sayfasında Yapılandırma olarak Hata Ayıkla'yı seçin. Bu, hata ayıklama sırasında kod simgelerinin kullanılabilir olmasını sağlar.
Proje daha önce dağıtılmışsa, Dosya Yayımlama Seçenekleri'nde Hedefte ek dosyaları kaldır'ı seçin.
Proje yayımlandıktan sonra, sanal makinenin Sunucu Gezgini'ndeki bağlam menüsünde Hata Ayıklayıcı Ekle... öğesini seçin .
Azure, sanal makinedeki işlemlerin listesini alır ve bunları İşleme Ekle iletişim kutusunda gösterir.
İşleme Ekle iletişim kutusunda, sonuç listesini yalnızca hata ayıklamak istediğiniz kod türlerini gösterecek şekilde sınırlandırmak için Seç'i seçin. 32 bit veya 64 bit yönetilen kodun, yerel kodun veya her ikisinin hatalarını ayıklayabilirsiniz.
Sanal makinede hata ayıklamak istediğiniz işlemleri seçin ve ardından Ekle'yi seçin. Örneğin, sanal makinede bir web uygulamasında hata ayıklamak istiyorsanız w3wp.exe işlemini seçebilirsiniz. Daha fazla bilgi için bkz . Visual Studio'da Bir veya Daha Fazla İşlemde Hata Ayıklama.
İlgili içerik
Azure'da roller içinde çalışan koddan ayrıntılı bilgileri günlüğe kaydetmek için Azure Tanılama kullanın. Bkz. Azure Tanılama kullanarak günlük verilerini toplama.
Diğer uzaktan hata ayıklama senaryoları için bkz . Uzaktan hata ayıklama.