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.

Screenshot of remote debugger components.

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

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

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

    Screenshot of remote debugger configuration.

    Screenshot of remote debugger configuration.

    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.

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

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

    Screenshot of remote debugger window

    Screenshot of remote debugger window

    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.

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

  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'da projeye sağ tıklayın ve Özellikler'i seçin.

  4. Ö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.

    Screenshot of the Debug launch profile UI in the Visual Studio Project Properties for C# and .NET.

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

    Screenshot of the Debug tab in the Visual Studio Project Properties. The Use remote machine property is set to 'MJO-DL:4022'.

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

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

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

  8. Projeyi derleyin.

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

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

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

    Screenshot of remote debugger window for VS 2022.

    Screenshot of remote debugger window for VS 2019.

  12. Visual Studio'da hata ayıklamayı başlatın (Hata AyıklamaYı > Başlat Hata Ayıklama veya 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 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.

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

  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 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 commandNameProject değerini ile değiştirerek launch Ayarlar.json dosyasını el ile MsixPackagedü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

    Başlatmayı düzenleyemezsiniz Ayarlar.json değeri MsixPackageolarak değiştirdikten sonra Başlatma profilinde Hata Ayıkla iletişim kutusunda.

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