Visual Studio'da C# veya Visual Basic projesinde Uzaktan Hata Ayıklama
Farklı bir bilgisayara dağıtılan bir Visual Studio uygulamasında hata ayıklamak için, uygulamanızı dağıttığınız bilgisayara uzak araçları yükleyip çalıştırın, projenizi Visual Studio'dan uzak bilgisayara bağlanacak şekilde yapılandırın ve ardından uygulamanızı çalıştırın.
Evrensel Windows Uygulamalarında (UWP) uzaktan hata ayıklama hakkında bilgi için bkz . Yüklü Uygulama Paketinde Hata Ayıklama.
Gereksinimler
Uzaktan hata ayıklayıcı, Windows 7 ve daha yeni sürümlerde ve Windows Server 2008 Service Pack 2 ile başlayan Windows Server sürümlerinde desteklenir. Gereksinimlerin tam listesi için bkz . Gereksinimler.
Not
Ara sunucu aracılığıyla bağlanan iki bilgisayar arasında hata ayıklama desteklenmez. Çevirmeli İnternet gibi yüksek gecikme süresi veya düşük bant genişliğine sahip bir bağlantı üzerinden veya ülkeler/bölgeler arasında İnternet üzerinden hata ayıklama önerilmez ve başarısız olabilir veya kabul edilemez düzeyde yavaş olabilir.
Uzak araçları indirme ve yükleme
Visual Studio makinesi yerine hata ayıklamak istediğiniz uzak cihazda veya sunucuda, aşağıdaki tablodaki bağlantılardan uzak araçların doğru sürümünü indirin ve yükleyin.
- Visual Studio sürümünüz için uzak araçların en son güncelleştirmesini indirin. Önceki uzak araçlar sürümleri, sonraki Visual Studio sürümleriyle uyumlu değildir. (Örneğin, Visual Studio 2019 kullanıyorsanız Visual Studio 2019 için uzak araçların en son güncelleştirmesini indirin. Bu senaryoda Visual Studio 2022 için uzak araçları indirmeyin.)
- Yüklemekte olduğunuz makineyle aynı mimariye sahip uzak araçları indirin. Örneğin, x64 işletim sistemi çalıştıran uzak bir bilgisayarda x86 uygulamalarında hata ayıklamak istiyorsanız, x64 uzak araçlarını yükleyin. ARM64 işletim sisteminde x86, ARM veya x64 uygulamalarında hata ayıklamak için ARM64 uzak araçlarını yükleyin.
Sürüm | Bağlantı | Notlar |
---|---|---|
Visual Studio 2022 | Uzak araçlar | Tüm Visual Studio 2022 sürümleriyle uyumludur. Cihazınızın işletim sistemiyle eşleşen sürümü indirin (x86, x64 (AMD64) veya ARM64). Windows Server'ın eski sürümlerinde, uzak araçları indirme konusunda yardım için dosya indirme engellemesini kaldırma bölümüne bakın. |
Visual Studio 2019 | Uzak araçlar | Visual Studio 2019 için uzak araçlar My.VisualStudio.com'den edinilebilir. İstenirse ücretsiz Visual Studio Dev Essentials programına katılın veya Visual Studio abonelik kimliğiniz ile oturum açın. Cihazınızın işletim sistemiyle eşleşen sürümü indirin (x86, x64 (AMD64) veya ARM64). Windows Server'ın eski sürümlerinde, uzak araçları indirme konusunda yardım için dosya indirme engellemesini kaldırma bölümüne bakın. |
Visual Studio 2017 | Uzak araçlar | Visual Studio 2017 için uzak araçlar My.VisualStudio.com'den edinilebilir. İstenirse ücretsiz Visual Studio Dev Essentials programına katılın veya Visual Studio abonelik kimliğiniz ile oturum açın. Cihazınızın işletim sistemiyle eşleşen sürümü indirin (x86, x64 (AMD64) veya ARM64). Windows Server'da, uzak araçları indirme konusunda yardım için dosya indirme engellemesini kaldırma bölümüne bakın. |
Visual Studio 2015 | Uzak araçlar | Visual Studio 2015 için uzak araçlar My.VisualStudio.com'den edinilebilir. İstenirse ücretsiz Visual Studio Dev Essentials programına katılın veya Visual Studio abonelik kimliğiniz ile oturum açın. Windows Server'da, uzak araçları indirme konusunda yardım için dosya indirme engellemesini kaldırma bölümüne bakın. |
Visual Studio 2013 | Uzak araçlar | Visual Studio 2013 belgelerinde indirme sayfası |
Visual Studio 2012 | Uzak araçlar | Visual Studio 2012 belgelerinde indirme sayfası |
Sürüm | Bağlantı | Notlar |
---|---|---|
Visual Studio 2019 | Uzak araçlar | Tüm Visual Studio 2019 sürümleriyle uyumludur. Cihazınızın işletim sistemiyle eşleşen sürümü indirin (x86, x64 (AMD64) veya ARM64). Windows Server'da, uzak araçları indirme konusunda yardım için dosya indirme engellemesini kaldırma bölümüne bakın. Uzak araçların en son sürümü için Visual Studio 2022 belgesini açın. |
Visual Studio 2017 | Uzak araçlar | Tüm Visual Studio 2017 sürümleriyle uyumludur. Cihazınızın işletim sistemiyle eşleşen sürümü indirin (x86, x64 (AMD64) veya ARM64). Windows Server'da, uzak araçları indirme konusunda yardım için dosya indirme engellemesini kaldırma bölümüne bakın. |
Visual Studio 2015 | Uzak araçlar | Visual Studio 2015 için uzak araçlar My.VisualStudio.com'den edinilebilir. İstenirse ücretsiz Visual Studio Dev Essentials programına katılın veya Visual Studio abonelik kimliğiniz ile oturum açın. Windows Server'da, uzak araçları indirme konusunda yardım için dosya indirme engellemesini kaldırma bölümüne bakın. |
Visual Studio 2013 | Uzak araçlar | Visual Studio 2013 belgelerinde indirme sayfası |
Visual Studio 2012 | Uzak araçlar | Visual Studio 2012 belgelerinde indirme sayfası |
Uzak araçları yüklemek yerine uzak bilgisayara msvsmon.exe kopyalayarak uzak hata ayıklayıcısını çalıştırabilirsiniz. Ancak, Uzak Hata Ayıklayıcı Yapılandırma Sihirbazı (rdbgwiz.exe) yalnızca uzak araçları yüklediğinizde kullanılabilir. Uzaktan hata ayıklayıcısını hizmet olarak çalıştırmak istiyorsanız yapılandırma için sihirbazı kullanmanız gerekebilir. Daha fazla bilgi için bkz . (İsteğe bağlı) Uzak hata ayıklayıcıyı hizmet olarak yapılandırma.
Not
- ARM cihazlarında Windows 10 veya üzeri uygulamalarda hata ayıklamak için, uzak araçların en son sürümüyle kullanılabilen ARM64'i kullanın.
- Windows RT cihazlarında Windows 10 uygulamalarında hata ayıklamak için, yalnızca Visual Studio 2015 uzak araçları indirmesinde kullanılabilen ARM'yi kullanın.
- ARM64 işletim sistemindeki x64 uygulamalarında hata ayıklamak için ARM64 uzak araçlarıyla yüklenen x64 msvsmon.exe çalıştırın.
İpucu
Bazı senaryolarda, uzak hata ayıklayıcıyı bir dosya paylaşımından çalıştırmak en verimli yöntem olabilir. Daha fazla bilgi için bkz . Dosya paylaşımından uzak hata ayıklayıcıyı çalıştırma.
Uzak hata ayıklayıcıyı ayarlama
Uzak bilgisayarda, Başlat menüsünden Uzaktan Hata Ayıklayıcı'yı bulun ve başlatın.
Uzak bilgisayarda yönetici izinleriniz yoksa, Uzak Hata Ayıklayıcı uygulamasına sağ tıklayın ve Yönetici olarak çalıştır'ı seçin. Aksi takdirde, normal bir şekilde başlatın.
Yönetici olarak çalışan veya farklı bir kullanıcı hesabı (IIS gibi) altında çalışan bir işleme ekleme yapmayı planlıyorsanız, Uzaktan Hata Ayıklayıcı uygulamasına sağ tıklayın ve Yönetici olarak çalıştır'ı seçin. Daha fazla bilgi için bkz . Uzak hata ayıklayıcıyı yönetici olarak çalıştırma.
Uzak hata ayıklayıcıyı ilk kez başlattığınızda (veya yapılandırmadan önce), Uzaktan Hata Ayıklama Yapılandırma sihirbazı görüntülenir.
Çoğu senaryoda, sihirbazın Windows Güvenlik Duvarını Yapılandır sayfasına gelene kadar İleri'yi seçin.
Yalnızca Windows Server 2008 R2'de gerçekleşen Windows Web Hizmetleri API'si yüklü değilse Yükle düğmesini seçin.
Uzak araçları kullanmak istediğiniz en az bir ağ türü seçin. Bilgisayarlar bir etki alanı üzerinden bağlıysa, ilk öğeyi seçmeniz gerekir. Bilgisayarlar bir çalışma grubu veya ev grubu aracılığıyla bağlıysa, ikinci veya üçüncü öğeyi uygun şekilde seçin.
Ardından, uzak hata ayıklayıcıyı başlatmak için Son'u seçin.
Ardından, uzaktan hata ayıklayıcıyı başlatmak için Uzaktan hata ayıklamayı yapılandır'ı seçin.
Yapılandırma tamamlandığında, Uzak Hata Ayıklayıcı penceresi görüntülenir.
Uzak hata ayıklayıcı şimdi bağlantı bekliyor. Visual Studio'da uzak bağlantı yapılandırmasını ayarlamak için gösterilen sunucu adını ve bağlantı noktası numarasını kullanın.
Uzak hata ayıklayıcıyı durdurmak için Dosyadan>Çık'ı seçin. Başlat menüsünden veya komut satırından yeniden başlatabilirsiniz:
<Remote debugger installation directory>\msvsmon.exe
Not
Ek kullanıcılar için izin eklemeniz, kimlik doğrulama modunu veya uzak hata ayıklayıcının bağlantı noktası numarasını değiştirmeniz gerekiyorsa bkz . Uzak hata ayıklayıcıyı yapılandırma.
Projede uzaktan hata ayıklama
Hata ayıklayıcı, Visual C# veya Visual Basic masaüstü uygulamalarını uzak bir makineye dağıtamaz, ancak yine de aşağıdaki gibi bunların hatalarını uzaktan ayıklayabilirsiniz. Aşağıdaki yordamda, aşağıdaki çizimde gösterildiği gibi MJO-DL adlı bir bilgisayarda hata ayıklamak istediğiniz varsayılır.
MyWpf adlı bir WPF projesi oluşturun.
WPF yerine bir MAUI uygulamasında uzaktan hata ayıklamaya çalışıyorsanız bkz . Windows'da bir .NET MAUI uygulamasında uzaktan hata ayıklama.
Kodun içinde kolayca ulaşılan bir kesme noktası ayarlayın.
Örneğin, bir düğme işleyicisinde kesme noktası ayarlayabilirsiniz. Bunu yapmak için MainWindow.xaml dosyasını açın ve Araç Kutusu'ndan bir Düğme denetimi ekleyin, ardından işleyicisini açmak için düğmeye çift tıklayın.
Çözüm Gezgini'da projeye sağ tıklayın ve Özellikler'i seçin.
Özellikler sayfasında Hata Ayıkla sekmesini seçin.
.NET Core veya .NET 5+ hedefli C# projeleri için Visual Studio 2022'den başlayarak, Uzaktan hata ayıklama ayarlarını yapılandırmak için Hata Ayıklama sekmesinden Başlatma profillerinde hata ayıklama kullanıcı arabirimini seçin.
Aksi takdirde, uzaktan hata ayıklama ayarlarını doğrudan Hata Ayıklama sekmesinde değiştirirsiniz.
Çalışma dizini metin kutusunun boş olduğundan emin olun.
Uzak makineyi kullan'ı seçin ve metin kutusuna yourmachinename:port yazın. (Bağlantı noktası numarası uzak hata ayıklayıcı penceresinde gösterilir. Bağlantı noktası sayısı, Visual Studio'nun her sürümünde 2 artırır).
Bu örnekte şunu kullanın:
Visual Studio 2022'de MJO-DL:4026
Visual Studio 2019'da MJO-DL:4024
Yerel kod hata ayıklamasını etkinleştir seçeneğinin seçili olmadığından emin olun.
Projeyi derleyin.
Uzak bilgisayarda, Visual Studio bilgisayarınızdaki Hata Ayıkla klasörüyle aynı yolu taşıyan bir klasör oluşturun:< kaynak yol>\MyWPF\MyWPF\bin\Debug.
Visual Studio bilgisayarınızdan yeni oluşturduğunuz yürütülebilir dosyayı uzak bilgisayardaki yeni oluşturulan klasöre kopyalayın.
Dikkat
Kodda değişiklik yapma veya yeniden derleme (veya bu adımı yinelemeniz gerekir). Uzak makineye kopyaladığınız yürütülebilir dosya yerel kaynağınızla ve sembollerinizle tam olarak eşleşmelidir.
Projeyi el ile kopyalayabilir, XCopy, Robocopy, PowerShell veya diğer seçenekleri kullanabilirsiniz.
Uzak hata ayıklayıcının hedef makinede çalıştığından emin olun (Çalışmıyorsa, Başlat menüsünde Uzaktan Hata Ayıklayıcı'yı arayın). Uzak hata ayıklayıcı penceresi şöyle görünür.
Visual Studio'da hata ayıklamayı başlatın (Hata AyıklamaYı > Başlat Hata Ayıklama veya F5).
İstenirse, uzak makineye bağlanmak için ağ kimlik bilgilerini girin.
Gerekli kimlik bilgileri ağınızın güvenlik yapılandırmasına bağlı olarak değişir. Örneğin, bir etki alanı bilgisayarında etki alanı adınızı ve parolanızı girebilirsiniz. Etki alanı olmayan bir makinede makine adını ve MJO-DLname@something.com\ gibi geçerli bir kullanıcı hesabı adını ve doğru parolayı girebilirsiniz.
WPF uygulamasının ana penceresinin uzak bilgisayarda açık olduğunu görmeniz gerekir.
Gerekirse kesme noktasına gitmek için işlem yapın. Kesme noktasının etkin olduğunu görmeniz gerekir. Değilse, uygulamanın simgeleri yüklenmez. Yeniden deneyin ve bu işe yaramazsa Sembol dosyalarını ve Visual Studio'nun sembol ayarlarını anlama bölümünden sembolleri yükleme ve bunların sorunlarını giderme hakkında bilgi edinin.
Visual Studio makinesinde yürütmenin kesme noktasında durdurulduğunu görmeniz gerekir.
Uygulama tarafından kullanılması gereken kod dışı dosyalarınız varsa, bunları Visual Studio projesine eklemeniz gerekir. Ek dosyalar için bir proje klasörü oluşturun (Çözüm Gezgini Yeni Klasör Ekle'ye > tıklayın). Ardından dosyaları klasörüne ekleyin (Çözüm Gezgini Varolan Öğe Ekle'ye > tıklayın ve ardından dosyaları seçin). Her dosyanın Özellikler sayfasında, Her zaman Kopyala olarak Çıkış Dizinine Kopyala'yı ayarlayın.
Windows'ta .NET MAUI uygulamasında uzaktan hata ayıklama
.NET MAUI uygulamaları, yalnızca uzak bir makineye kopyalanmadan dağıtıldığında kaydedilmesi gereken paketlenmiş uygulamalardır. Uzaktan hata ayıklamak için uygulamanın paketlenmemiş bir sürümünü dağıtabilirsiniz.
Uzaktan hata ayıklamak için aşağıdaki yöntemlerden birini kullanın:
Windows için paketlenmemiş .NET MAUI uygulamaları yayımlamak için CLI kullanma başlığında açıklanan adımları kullanarak uygulamayı paketlenmemiş bir uygulama olarak uzak cihaza yayımlayın ve ardından uzaktan hata ayıklama için bu makaledeki adımları izleyin. (Uygulamayı kopyalama adımlarını atlayın.)
Proje için Hata Ayıklama Başlatma profili oluşturma adımları da dahil olmak üzere bu makaledeki adımları izleyin. Hata ayıklamaya başlamadan önce, burada gösterildiği gibi commandName
Project
değerini ile değiştirerek launchSettings.json dosyasını el ileMsixPackage
düzenleyin."Remote Profile": { "commandName": "MsixPackage", "remoteDebugEnabled": true, "remoteDebugMachine": "170.200.20.22", "authenticationMode": "None" }
Hata ayıklamaya başladığınızda, bu yöntem önce uygulamanın paketlenmemiş bir sürümünü dağıtır ve başlatır.
Not
Değeri
MsixPackage
olarak değiştirdikten sonra Hata Ayıklama Başlatma profili iletişim kutusunda launchSettings.json düzenleyemezsiniz.
Uzak Simgelerle Hata Ayıklamayı Ayarlama
Visual Studio bilgisayarında oluşturduğunuz sembollerle kodunuzun hatalarını ayıklayabilmeniz gerekir. Yerel simgeleri kullandığınızda uzak hata ayıklayıcının performansı çok daha iyidir. Uzak simgeler kullanmanız gerekiyorsa, uzak hata ayıklama izleyicisine uzak makinede sembolleri aramasını söylemeniz gerekir.
Yönetilen kod için uzak simgeleri kullanmak için aşağıdaki msvsmon komut satırı anahtarını kullanabilirsiniz: Msvsmon /FallbackLoadRemoteManagedPdbs
Daha fazla bilgi için lütfen uzaktan hata ayıklama yardımına bakın (uzak hata ayıklayıcı penceresinde F1 tuşuna basın veya Yardım > Kullanımı'na tıklayın).