Aracılığıyla paylaş


ARM tek kartlı bilgisayarlarda .NET uygulamalarında hata ayıklama

Raspberry Pi gibi ARM tabanlı SBC'lerde çalışan .NET uygulamalarda hata ayıklama benzersiz bir zorluk sunar. İsterseniz Visual Studio Code ve .NET SDK'sını cihaza yükleyebilir ve yerel olarak geliştirebilirsiniz. Ancak cihazın performansı, yerel olarak kodlama ve hata ayıklama için ideal değildir. 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 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.
  • C# uzantısıyla Visual Studio Code.
  • .NET SDK 10 veya sonraki bir sürümü.
    • Çerçeveye bağımlı dağıtımda olduğu gibidotnet-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 uygulamalarda hata ayıklama açıklanmaktadır.

Visual Studio Code'da hata ayıklama (platformlar arası)

Visual Studio Code kullanılarak tek kartlı bilgisayarlar üzerinde .NET ile hata ayıklamak, SBC'de ve projenin launch.json dosyasında yapılandırma adımları gerektirir.

SBC'de SSH'yi etkinleştirme

Uzaktan hata ayıklama için SSH gereklidir. Raspberry Pi'de SSH'yi etkinleştirmek için Raspberry Pi belgelerinde SSH'yi etkinleştirme bölümüne bakın. Parolasız SSH yapılandırdığınızdan emin olun.

Önemli

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 yerine Plink aracını kullanmayı düşünebilirsiniz.

Visual Studio Uzaktan Hata Ayıklayıcısını SBC'ye yükleme

SBC'deki bir Bash konsolunda (yerel oturumda veya SSH aracılığıyla), aşağıdaki komutu çalıştırın. Bu komut Visual Studio Uzaktan Hata Ayıklayıcıyı cihaza indirir ve yükler:

curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg

Visual Studio Code'da launch.json ayarlama

Geliştirme bilgisayarında, projenin launch.json dosyasına bir başlatma yapılandırması ekleyin. Projenin launch.json dosyası yoksa, Run sekmesine geçerek, launch.json dosyası oluştur ve iletişim kutusunda .NET veya .NET Core seçerek bir dosya ekleyin.

launch.json'daki yeni yapılandırma aşağıdakilerden birine benzer olmalıdır:

"configurations": [
    {
        "name": ".NET Remote Launch - Self-contained",
        "type": "coreclr",
        "request": "launch",
        "program": "~/sample/sample",
        "args": [],
        "cwd": "~/sample",
        "stopAtEntry": false,
        "console": "internalConsole",
        "pipeTransport": {
            "pipeCwd": "${workspaceRoot}",
            "pipeProgram": "ssh",
            "pipeArgs": [
                "pi@raspberrypi"
            ],
            "debuggerPath": "~/vsdbg/vsdbg"
        }
    },

Aşağıdakilere dikkat edin:

  • program tarafından dotnet publisholuşturulan yürütülebilir dosyadır.
  • cwd , cihazda uygulamayı başlatırken kullanılacak çalışma dizinidir.
  • pipeProgram , yerel makinedeki bir SSH istemcisinin yoludur.
  • pipeArgs SSH istemcisine geçirilecek parametrelerdir. parola parametresini ve pi kullanıcıyı <user>@<hostname> biçiminde belirttiğinizden emin olun.

Uygulamayı dağıt

Uygulamayı Deploy .NET uygulamalarında açıklandığı gibi ARM tek kartlı bilgisayarlara dağıtın. Dağıtım yolunun cwd yapılandırmasındaki parametrede belirtilen yol ile aynı olduğundan emin olun.

Hata ayıklayıcıyı başlatma

Visual Studio Code Runla ve Hata Ayıkla sekmesinde launch.json'e eklediğiniz yapılandırmayı seçin ve Başla Hata Ayıklama'yi 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'da Visual Studio hatalarını ayıklama

Visual Studio, SSH aracılığıyla uzak cihazlardaki .NET uygulamalarda hata ayıklayabilir. Cihazda özel yapılandırma gerekmez. .NET'i uzaktan hata ayıklamak için Visual Studio kullanma hakkında ayrıntılı bilgi için bkz. SSH kullanarak Linux'ta .NET'i uzaktan hata ayıklama.

dotnet işlemini çerçeveye bağımlı bir dağıtımda hata ayıklıyorsanız seçtiğinizden emin olun. Aksi takdirde işlem, uygulamanın yürütülebilir dosyasıyla aynı şekilde adlandırılır.