Aracılığıyla paylaş


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.

Uzak hata ayıklayıcı bileşenlerinin ekran görüntüsü.

Evrensel Windows Uygulamalarında (UWP) uzaktan hata ayıklama hakkında bilgi için bkz. Yüklü Uygulama Paketihatalarını 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. Arama İnterneti 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. Visual Studio 2022 ve 2026 için uzak araçlar, Visual Studio'nun iki sürümüyle de kullanılabilir. Ancak, Visual Studio 2022'den ö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.)
  • 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 uzaktan 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, dosya indirme engellemesini kaldırmak için , uzak araçları indirme konusunda yardım almak için bakın.
Visual Studio 2019 uzaktan 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, dosya indirme engellemesini kaldırmak için , uzak araçları indirme konusunda yardım almak için bakın.
Visual Studio 2017 uzaktan 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ı indirmenize yardımcı olacak dosya indirme engellemesini kaldırma hakkında bilgi için 'e,'e bakın.
Visual Studio 2015 uzaktan 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ı indirmenize yardımcı olacak dosya indirme engellemesini kaldırma hakkında bilgi için 'e,'e bakın.
Visual Studio 2013 uzaktan araçlar Visual Studio 2013 belgelerinde indirme sayfası
Visual Studio 2012 uzaktan araçlar Visual Studio 2012 belgelerinde indirme sayfası
Sürüm Bağlantı Notlar
Visual Studio 2019 uzaktan 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ı indirmenize yardımcı olacak dosya indirme engellemesini kaldırma hakkında bilgi için 'e,'e bakın. Uzak araçların en son sürümü için Visual Studio 2022 belgesiniaçın.
Visual Studio 2017 uzaktan 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ı indirmenize yardımcı olacak dosya indirme engellemesini kaldırma hakkında bilgi için 'e,'e bakın.
Visual Studio 2015 uzaktan 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ı indirmenize yardımcı olacak dosya indirme engellemesini kaldırma hakkında bilgi için 'e,'e bakın.
Visual Studio 2013 uzaktan araçlar Visual Studio 2013 belgelerinde indirme sayfası
Visual Studio 2012 uzaktan 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 sisteminde x64 uygulamalarında hata ayıklamak için ARM64 uzak araçlarıyla yüklenen x64 msvsmon.exe'ı çalıştırın.

Bahşiş / İ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, bir dosya paylaşımından uzak hata ayıklayıcıyı çalıştırma hakkında bkz. .

Uzak hata ayıklayıcıyı ayarlama

Uzak hata ayıklayıcısını yükledikten sonra aşağıdaki adımları izleyin.

  1. Uzak bilgisayarda, Başlat menüsünden Uzaktan Hata Ayıklayıcı bul ve başlat.

    Uzak bilgisayarda yönetici izinleriniz yoksa, Uzaktan Hata Ayıklayıcısı 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.

  2. Uzaktan hata ayıklayıcıyı ilk kez başlattığınızda (veya yapılandırmadan önce), Uzaktan Hata Ayıklama Yapılandırması sihirbazı görüntülenir.

    Çoğu senaryoda, İleri seçeneğini seçerek sihirbazın Windows Güvenlik Duvarı'nı Yapılandırma sayfasına gelin.

    Screenshot of remote debugger configuration.Uzaktan hata ayıklayıcı yapılandırmasının ekran görüntüsü. Uzaktan Hata Ayıklayıcı yapılandırmasıRemote Debugger configuration

    Screenshot of remote debugger configuration.Uzaktan hata ayıklayıcı yapılandırmasının ekran görüntüsü. Uzaktan Hata Ayıklayıcı yapılandırmasıRemote Debugger configuration

    Windows Web Hizmetleri API'si yüklü değilse, ki bu yalnızca Windows Server 2008 R2'de olur, Yükle düğmesini seçin.

  3. 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, Bitiş'ni seçerek uzak hata ayıklayıcısını başlatın.

    Ardından Uzaktan hata ayıklama yapılandır'ı seçerek uzaktan hata ayıklayıcıyı başlatın.

  4. Yapılandırma tamamlandığında Uzaktan Hata Ayıklayıcı penceresi görüntülenir.

    Uzak Hata Ayıklayıcı penceresi

    Uzak Hata Ayıklayıcı penceresi

    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 Dosya>Çıkışöğesini 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 uzaktan hata ayıklayabilirsiniz. Aşağıdaki yordamda, aşağıdaki çizimde gösterildiği gibi MJO-DLadlı bir bilgisayarda hata ayıklamak istediğiniz varsayılır.

  1. MyWpfadlı bir WPF projesi oluşturun.

    WPF yerine bir MAUI uygulamasında uzaktan hata ayıklamaya çalışıyorsanız bkz. Windows'da .NET MAUI uygulamasında uzaktan hata ayıklama.

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

  3. Çözüm Gezgini'nde projeye sağ tıklayın ve Özellikler seçin.

  4. Özellikleri sayfasında Hata Ayıklama sekmesini seçin.

    Visual Studio 2022'den başlayarak .NET Core veya .NET 5+'ı hedefleyen C# projeleri için, uzaktan hata ayıklama ayarlarını yapılandırmak amacıyla, Hata Ayıklama sekmesinden Hata Ayıklama başlatma profilleri kullanıcı arabirimini seçin.

    C# ve .NET için Visual Studio Proje Özellikleri'nde Hata Ayıklama başlangıç profili kullanıcı arabiriminin ekran görüntüsü.

    Aksi takdirde, .NET Framework için uzaktan hata ayıklama ayarlarını doğrudan Hata Ayıklama sekmesinde değiştirirsiniz.

    Visual Studio Proje Özellikleri'ndeki Hata Ayıkla sekmesinin ekran görüntüsü. Uzak makine kullan özelliği 'MJO-DL:4026' olarak ayarlanır.

    Visual Studio Proje Özellikleri'ndeki Hata Ayıkla sekmesinin ekran görüntüsü. Uzak makine kullan özelliği 'MJO-DL:4022' olarak ayarlanır.

  5. Çalışma dizini metin kutusunun boş olduğundan emin olun.

  6. Uzak makinekullan'ı seçin ve metin kutusuna makineadınız:port yazın. Bağlantı noktası numarası, uzak hata ayıklayıcı penceresinde gösterilir.

    Bu örnekte şunu kullanın:

    MJO-DL:4026 Visual Studio 2022'de

    MJO-DL:4024 Visual Studio 2019'da

    Bağlantı noktası sayısı, Visual Studio'nun her sürümünde 2 artar.

  7. Yerel kod hata ayıklamasını etkinleştir seçeneğinin seçili olmadığından emin olun.

  8. Projeyi oluşturun.

  9. Uzak bilgisayarda, Visual Studio bilgisayarınızdaki Hata Ayıklama klasörüyle aynı yolu taşıyan bir klasör oluşturun: \MyWPF\MyWPF\bin\Debug <>kaynak yolu.

  10. 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 veya yeniden derlemede değişiklik yapmayın (veya bu adımı tekrarlamanız 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.

  11. 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ı arayın). Uzak hata ayıklayıcı penceresi şöyle görünür.

    VS 2022 için uzak hata ayıklayıcı penceresinin ekran görüntüsü.

    VS 2019 için uzak hata ayıklayıcı penceresinin ekran görüntüsü.

  12. Visual Studio'da hata ayıklamayı başlatın (Hata Ayıklama > Hata Ayıklamayı başlatveya F5).

  13. İ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 doğru parolayla birlikte MJO-DL\name@something.comgibi geçerli bir kullanıcı hesabı adı girebilirsiniz.

    WPF uygulamasının ana penceresinin uzak bilgisayarda açık olduğunu görmeniz gerekir.

  14. Gerekirse kesme noktasına ulaşmak için harekete geçin. Kesme noktasının etkin olduğunu görmelisiniz. Eğer değilse, uygulamanın simgeleri yüklenmemiş. Yeniden deneyin ve bu işe yaramazsa, sembolleri yükleme ve bunların sorunlarını giderme hakkında bilgi edinmek için Sembol dosyalarını ve Visual Studio'nun sembol ayarlarını anlamakısmına bakın.

  15. 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>) tıklayın. Ardından dosyaları klasörüne ekleyin (Çözüm Gezgini'nde> ekle'ye tıklayın ve ardından dosyaları seçin). Her dosyanın Özellikler sayfasında, Çıkış Dizinine Kopyala ayarını Her zaman Kopyalaolarak belirleyin.

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:

  • 'de açıklanan adımları kullanarak uygulamayı paketlenmemiş bir uygulama olarak uzak cihaza yayımlayın Windowsiçin paketlenmemiş .NET MAUI uygulamaları yayımlamak için CLI'yı kullanı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 değerini Projectile değiştirerek MsixPackage dosyasını el ile 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 olarak değiştirdikten sonra, Başlatma Hata Ayıklama profili iletişim kutusunda MsixPackage'i düzenleyemezsiniz.

Uzaktan Sembollerle Hata Ayıklamayı Yapılandırma

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 uzaktaki simgeleri kullanmak amacıyla 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 basın veya Yardım > Kullanımöğesine tıklayın).