Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Visual Studio 2017'den başlayarak, Secure Shell (SSH) üzerinden yerel veya uzak linux dağıtımında çalışan .NET Core ve .NET 5+ işlemlerine ekleyebilirsiniz. Bu makalede hata ayıklamayı ayarlama ve hata ayıklama işlemleri açıklanmaktadır. Docker kapsayıcılarını kullanarak hata ayıklama senaryoları için bkz. Docker kapsayıcısı üzerinde çalışan bir işleme ekleme ve bunun yerine kapsayıcı araçları makaleleri. Visual Studio'dan WSL 2 üzerinde Linux'ta hata ayıklamak için (işlem eklemesi olmadan) bkz. Visual Studio ile WSL 2'de .NET Core Uygulamalarında Hata Ayıklama.
Uyarı
Azure Kubernetes Service'te (AKS) çalışan Linux'ta hata ayıklamak için işleme eklemek yerine Bridge to Kubernetes önerilir.
Önkoşullar
Linux sunucusunda SSH sunucusu yüklemeniz, sıkıştırmasını açmanız ve curl veya wget ile yüklemeniz gerekir. Örneğin, Ubuntu'da şunları çalıştırarak bunu yapabilirsiniz:
sudo apt-get install openssh-server unzip curlSFTP'nin yanı sıra SSH de etkinleştirilmelidir. Çoğu SSH dağıtımı varsayılan olarak SFTP'yi yükler ve etkinleştirir, ancak her zaman böyle değildir.
Linux sunucusunda Linux'a .NET çalışma zamanını yükleyin ve Linux dağıtımınızla eşleşen sayfayı (Ubuntu gibi) bulun. .NET SDK'sı gerekli değildir.
Hata ayıklama için gerekli .NET hata ayıklama hizmetlerinin kullanılabilir olduğundan emin olmak için, uygulamayı tek dosyalı yürütülebilir dosya olarak yayımlamaktan kaçının.
Kapsamlı ASP.NET Core yönergeleri için bkz. Linux'ta Nginx ile ASP.NET Core'u Barındır ve Linux üzerinde Apache ile ASP.NET Core'u Barındır.
Uygulamanızı hata ayıklamaya hazırlama
Uygulamayı oluştururken hata ayıklama yapılandırması kullanmayı göz önünde bulundurun. Perakende olarak derlenmiş kodda (Yayın yapılandırması) hata ayıklamak, hata ayıklama derlenmiş koddan daha zordur. Derleme yapılandırması kullanmanız gerekiyorsa, önce Sadece Kendi Kodum özelliğini devre dışı bırakın. Araçlar>Seçenekleri bölmesini açın ve Tüm Ayarlar>Hata Ayıklama>Genel bölümünü genişletin. Yalnızca Benim Kodumu Etkinleştir onay kutusunu temizleyin.
Uygulamayı oluştururken hata ayıklama yapılandırması kullanmayı göz önünde bulundurun. Perakende olarak derlenmiş kodda (Yayın yapılandırması) hata ayıklamak, hata ayıklama derlenmiş koddan daha zordur. Derleme yapılandırması kullanmanız gerekiyorsa, önce Sadece Kendi Kodum özelliğini devre dışı bırakın. Araçlar>Seçenekleri iletişim kutusunu açın ve Hata Ayıklama>Genel bölümünü genişletin. Yalnızca Benim Kodumu Etkinleştir onay kutusunu temizleyin.
Projenizin taşınabilir PDB'ler üretecek şekilde yapılandırıldığından emin olun (varsayılan ayardır) ve PDB'lerin DLL ile aynı konumda olduğundan emin olun. Visual Studio'da bunu yapılandırmak için projeye sağ tıklayın, ardından ÖzelliklerGenel>Hata Ayıklama simgeleri'ni> seçin.
Projenizin taşınabilir PDB'ler üretecek şekilde yapılandırıldığından emin olun (varsayılan ayardır) ve PDB'lerin DLL ile aynı konumda olduğundan emin olun. Visual Studio'da bunu yapılandırmak için projeye sağ tıklayın, ardından Özellikler>Derleme>Gelişmiş>Hata Ayıklama Bilgileri'ni seçin.
Uygulamayı derleme ve dağıtma
Hata ayıklamaya başlamadan önce uygulamayı dağıtmak için çeşitli yöntemler kullanabilirsiniz. Örneğin şunları yapabilirsiniz:
Kaynakları hedef bilgisayara kopyalayın ve Linux makinesinde
dotnet buildkullanarak derleyin.Uygulamayı Windows üzerinde derleyin ve ardından derleme yapıtlarını Linux makinesine aktarın. (Derleme yapıtları uygulamanın kendisinden, taşınabilir PDB'lerden, bağımlı olabileceği tüm çalışma zamanı kitaplıklarından ve .deps.json dosyasından oluşur.)
Uygulama dağıtıldığında uygulamayı başlatın.
Hata ayıklayıcıyı ekleme
Uygulama Linux makinesinde çalışırken hata ayıklayıcısını eklemeye hazırsınız demektir.
Visual Studio'da Hata Ayıkla>İşleme Ekle… seçeneğini belirleyin.
Bağlantı Türü listesinde SSH'yi seçin.
Bağlantı Hedefi'ni hedef bilgisayarın IP adresi veya ana bilgisayar adıyla değiştirin.
Kimlik bilgilerini sağlamadıysanız parola ve/veya özel anahtar dosyası girmeniz istenir. Özel anahtar dosyası kullanma hakkında daha fazla bilgi için bkz. Uzak bağlantı ayarlama.
SSH sunucusunun üzerinde çalıştığı bağlantı noktası dışında yapılandırılması gereken bir bağlantı noktası gereksinimi yoktur.
Hata ayıklamak istediğiniz işlemi bulun.
Kodunuz benzersiz bir işlem adında veya dotnet adlı bir işlemde çalışır. İlgilendiğiniz işlemi bulmak için, işlemin komut satırı bağımsız değişkenlerini gösteren Başlık sütununu denetleyin.
Aşağıdaki örnekte, İşleme Ekle iletişim kutusunda bir SSH aktarımı üzerinden uzak Linux makinesinden işlemlerin listesini görürsünüz.
seçekle.
Görüntülenen iletişim kutusunda, hata ayıklamak istediğiniz kod türünü seçin. Yönetilen (Unix için.NET Core) öğesini seçin.
Uygulamada hata ayıklamak için Visual Studio hata ayıklama özelliklerini kullanın.
Aşağıdaki örnekte, Visual Studio hata ayıklayıcısının uzak bir Linux makinesinde çalışan kodda kesme noktasında durdurulduğunu görürsünüz.