Raspberry PI üzerinde .NET uygulamalarında hata ayıklama

Raspberry PI gibi ARM tabanlı IoT cihazlarında çalışan .NET uygulamalarında hata ayıklama, benzersiz bir zorluk gösterir. ARM cihazlarda .NET uygulamaları geliştirmek mümkündür. ancak, Visual Studio dışındaki .net uygulamalarında hata ayıklamak için gereken omnisharp ARM cihazlarıyla uyumlu değildir. Sonuç olarak, uygulamaların uyumlu bir platformdan uzaktan ayıklanmalıdır.

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

Visual Studio Code Raspberry pi üzerinde .net hatası ayıklama, Raspberry Pi üzerinde ve projenin launch. json dosyasında yapılandırma adımları gerektirir.

Raspberry PI üzerinde SSH 'yi etkinleştirme

Uzaktan hata ayıklama için SSH gereklidir. SSH 'yi etkinleştirmek için Raspberry PI BELGELERINDEKI SSH 'yi etkinleştirme bölümüne bakın.

Visual Studio Uzaktan Hata Ayıklayıcı Raspberry Pi 'ye yükler

Raspberry PI 'deki Bash konsolu içinde (yerel olarak veya SSH aracılığıyla), aşağıdaki komutu yürütün. bu komut, Raspberry Pi üzerinde Visual Studio Uzaktan Hata Ayıklayıcı indirir ve yükler:

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

Visual Studio Code 'da Launch. JSON kurulumunu yapın

Geliştirme bilgisayarında, projenin Launch. JSON' a bir başlatma yapılandırması ekleyin. Projenin bir Launch. JSON dosyası yoksa, Çalıştır sekmesine geçerek bir Başlat. JSON dosyası oluştur' u seçerek ve iletişim kutusunda .net veya .NET Core ' u seçerek bir tane ekleyin.

Launch. JSON ' daki yeni yapılandırma, aşağıdakilerden birine benzer görünmelidir:

"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": "C:\\Program Files\\PuTTY\\PLINK.EXE",
            "pipeArgs": [
                "-pw", "raspberry",
                "pi@raspberrypi"
            ],
            "debuggerPath": "~/vsdbg/vsdbg"
            }
        },

Aşağıdakilere dikkat edin:

  • program , tarafından oluşturulan yürütülebilir dosyadır dotnet publish .
  • cwd , uygulama PI üzerinde başlatıldığında kullanılacak çalışma dizinidir.
  • pipeProgram , yerel makinedeki bir SSH istemcisinin yoludur.
  • pipeArgs , SSH istemcisine geçirilecek parametrelerdir. Parola parametresini ve bu biçimdeki kullanıcıyı da belirttiğinizden emin olun pi <user>@<hostname> .

Önemli

Önceki örneklerde, Putty SSH istemcisinin bir bileşeni olan plink kullanılır . Windows ve Linux 'un son sürümlerinde bulunan openssh, bunun yerine kullanılabilir. Ancak, OpenSSH, parolaların komut satırı parametresi olarak gönderilmesini desteklemez. OpenSSH kullanmak için, Raspberry PI 'nizi passwordless SSH erişimi için yapılandırın.

Uygulamayı dağıtma

Uygulamayı .NET uygulamalarını Raspberry PI 'ye dağıtmabölümünde açıklandığı şekilde dağıtın. Dağıtım yolunun, cwd başlatma. JSON yapılandırmasındaki parametresinde belirtilen yol olduğundan emin olun.

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

Çalıştır sekmesinde, Başlat. JSON ' a eklediğiniz yapılandırmayı seçin ve hata ayıklamayı Başlat' ı seçin. Uygulama Raspberry PI üzerinde başlatılır. Hata ayıklayıcı, kesme noktaları ayarlamak, yerelleri incelemek ve daha fazlasını yapmak için kullanılabilir.

Başvurular

LINUX ARM 'de uzaktan hata ayıklama (omnisharp belgeleri)

Windows Visual Studio hata ayıkla

Visual Studio, uzak cihazlarda .net uygulamalarında SSH aracılığıyla hata ayıklama yapabilir. Cihazda özelleştirilmiş yapılandırma gerekmez. .net uzaktan hata ayıklamak için Visual Studio kullanma hakkında ayrıntılı bilgi için bkz. SSH kullanarak Linux üzerinde uzaktan hata ayıklama .net.