ARM tek kartlı bilgisayarlarda .NET uygulamalarında hata ayıklama
Makale
Raspberry Pi gibi ARM tabanlı SBC'lerde çalışan .NET uygulamalarında hata ayıklamak benzersiz bir zorluk sunar. İsterseniz, cihaza Visual Studio Code ve .NET SDK'sını yükleyebilir ve yerel olarak geliştirebilirsiniz. Ancak cihazın performansı, yerel olarak kodlama ve hata ayıklamanın ideal olmamasıdır. Ayrıca, C# için Visual Studio Code uzantısı 32 bit ARM işletim sistemleriyle uyumlu değildir. Sonuç olarak, ARM cihazlarında Visual Studio Code'da IntelliSense ve hata ayıklama gibi işlevler yalnızca 64 bit sistemlerde desteklenir.
Bu nedenlerden dolayı, uygulamanızı bir geliştirme bilgisayarında geliştirmeniz ve ardından uygulamayı uzaktan hata ayıklama için cihaza dağıtmanız kesinlikle önerilir. Cihazda yerel olarak geliştirmek ve hata ayıklamak istiyorsanız, aşağıdakiler gereklidir:
Raspberry Pi OS (64 bit) gibi masaüstü ortamına sahip 64 bit işletim sistemi.
Çerçeveye bağımlı dağıtımda olduğu gibi dotnet-install betiğini kullanarak yükleyin. Bir DOTNET_ROOT ortam değişkeni eklediğinizden ve .dotnet dizinini öğesine $PATHeklediğinizden emin olun.
Bu makalenin geri kalanında, bir geliştirme bilgisayarından uzaktan tek kartlı bilgisayarlarda .NET uygulamalarında hata ayıklama açıklanmaktadır.
Önemli
Bu yazıdan itibaren, ortamlarda .NET 7 uygulamalarında linux-arm uzaktan hata ayıklama güvenilir değildir ve işlemin erken çıkmalarına neden olabilir. Bu sorun araştırılıyor. Hedeflenen .NET 6 uygulamaları ve hedeflenen linux-armlinux-arm64 .NET 7 uygulamaları etkilenmez.
Visual Studio Code'dan hata ayıklama (platformlar arası)
Visual Studio Code'dan tek kartlı bilgisayarlarda .NET'te hata ayıklamak için SBC'de ve projenin launch.json dosyasında yapılandırma adımları gerekir.
OpenSSH komut satırında parola geçirmeyi desteklemediğinden bu örnek cihazınızda parolasız SSH yapılandırmanızı gerektirir. Parola kullanmanız gerekiyorsa, ssh için Plink aracının yerine kullanmayı göz önünde bulundurun.
SBC'ye Visual Studio Uzaktan Hata Ayıklayıcı yükleme
SBC'deki bir Bash konsolunda (yerel oturumda veya SSH aracılığıyla), aşağıdaki komutu çalıştırın. Bu komut cihaza Visual Studio Uzaktan Hata Ayıklayıcı indirir ve yükler:
Geliştirme bilgisayarında, projenin launch.json bir başlatma yapılandırması ekleyin. Projede launch.json dosyası yoksa, Çalıştır sekmesine geçip launch.json dosyası oluştur'u ve iletişim kutusunda .NET veya .NET Core'u seçerek bir dosya ekleyin.
launch.json'deki yeni yapılandırma aşağıdakilerden birine benzer olmalıdır:
program , cihazdaki .NET çalışma zamanının yoludur.
args , cihazda hata ayıklamak için derlemenin yoludur.
cwd , cihazda uygulamayı başlatırken kullanılacak çalışma dizinidir.
justMyCode hata ayıklayıcının uygulama kodundaki kesme noktalarında kesildiğinden emin olmak için olarak ayarlanır false .
pipeProgram , yerel makinedeki bir SSH istemcisinin yoludur.
pipeArgs SSH istemcisine geçirilecek parametrelerdir. parola parametresini ve kullanıcı biçimini <user>@<hostname>belirttiğinizden pi emin olun.
Uygulamayı dağıtma
Uygulamayı ARM tek kartlı bilgisayarlara .NET uygulamaları dağıtma bölümünde açıklandığı gibi dağıtın. Dağıtım yolunun launch.json yapılandırmasında cwd parametresinde belirtilen yol ile aynı olduğundan emin olun.
Hata ayıklayıcıyı başlatma
Visual Studio Code'da, Çalıştır ve Hata Ayıkla sekmesinde, launch.json eklediğiniz yapılandırmayı seçin ve Hata Ayıklamayı Başlat'ı seçin. Uygulama cihazda başlatılır. Hata ayıklayıcısı kesme noktaları ayarlamak, yerel ayarları incelemek ve daha fazlasını yapmak için kullanılabilir.
Windows üzerinde Visual Studio'dan hata ayıklama
Visual Studio, SSH aracılığıyla uzak cihazlarda .NET uygulamalarında hata ayıklayabilir. Cihazda özel yapılandırma gerekmez. .NET'te uzaktan hata ayıklamak için Visual Studio kullanma hakkında ayrıntılı bilgi için bkz . SSH kullanarak Linux'ta .NET'te uzaktan hata ayıklama.
Çerçeveye bağımlı bir dağıtımda dotnet hata ayıklarken işlemi seçtiğinizden emin olun. Aksi takdirde işlem, uygulamanın yürütülebilir dosyasıyla aynı şekilde adlandırılır.
GitHub'da bizimle işbirliği yapın
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Doğrudan Visual Studio 2022 kullanarak Azure Uygulaması Service'te ASP.NET Core uygulamalarınızı dağıtmak ve uzaktan hatalarını ayıklamak için uygulamalı eğitim.
Build end-to-end solutions in Microsoft Azure to create Azure Functions, implement and manage web apps, develop solutions utilizing Azure storage, and more.