Отладка приложений .NET на компьютерах с одной платой ARM
Статья
Отладка приложений .NET, работающих на контроллерах SBC на основе ARM, таких как Raspberry Pi, представляет собой уникальную задачу. При необходимости можно установить Visual Studio Code и пакет SDK для .NET на устройстве и разработать локально. Однако производительность устройства заключается в том, что кодирование и отладка локально не идеально подходят. Кроме того, расширение Visual Studio Code для C# несовместимо с 32-разрядными операционными системами ARM. Следовательно, функции, такие как IntelliSense и отладка в Visual Studio Code на устройствах ARM, поддерживаются только в 64-разрядных системах.
По этим причинам настоятельно рекомендуется разрабатывать приложение на компьютере разработки, а затем развертывать приложение на устройстве для удаленной отладки. Если вы хотите разрабатывать и отлаживать локально на устройстве, необходимо следующее:
64-разрядная ОС с классической средой, например Raspberry Pi OS (64-разрядная версия).
Пакет SDK для .NET версии 6.0 или более поздней версии.
Установите с помощью скрипта dotnet-install, как в развертывании, зависящей от платформы. Обязательно добавьте переменную среды и добавьте в нее DOTNET_ROOTкаталог $PATHdotnet.
В остальной части этой статьи описывается, как отлаживать приложения .NET на компьютерах с одной платой удаленно с компьютера разработки.
Важно!
По состоянию на этот момент удаленная отладка приложений .NET 7 в linux-arm средах является ненадежной и может привести к преждевременному выходу процесса. Этот вопрос находится под следствием. Приложения .NET 6, предназначенные для linux-arm приложений .NET 7, которые не влияют на них linux-arm64 .
Отладка из Visual Studio Code (кроссплатформенная среда)
Отладка .NET на компьютерах с одной платой из Visual Studio Code требует действий по настройке SBC и в файле launch.json проекта.
Включение SSH в SBC
Для удаленной отладки требуется протокол SSH. Чтобы включить SSH в Raspberry Pi, см. раздел "Включить SSH " в документации raspberry Pi. Убедитесь, что вы настроили SSH без пароля.
Важно!
В этом примере требуется настроить SSH без пароля на устройстве, так как OpenSSH не поддерживает передачу паролей в командной строке. Если вам нужно использовать пароль, попробуйте заменить средство Plink для SSH.
Установка Удаленный отладчик Visual Studio на SBC
В консоли Bash на SBC (в локальном сеансе или через SSH) выполните следующую команду. Эта команда загружает и устанавливает Удаленный отладчик Visual Studio на устройстве:
На компьютере разработчика добавьте конфигурацию запуска в файл launch.json проекта. Если в проекте нет файла launch.js, добавьте его, перейдя на вкладку Запуск, щелкнув Создать файл launch.js и выбрав .NET или .NET Core в диалоговом окне.
Новая конфигурация в launch.json должна выглядеть примерно следующим образом:
program — это путь к среде выполнения .NET на устройстве.
args — это путь к сборке для отладки на устройстве.
cwd — рабочий каталог, используемый при запуске приложения на устройстве.
justMyCode Установлено значение, чтобы false убедиться, что отладчик прерывает точки останова в коде приложения.
pipeProgram — это путь к SSH-клиенту на локальном компьютере.
pipeArgs — это параметры, передаваемые SSH-клиенту. Обязательно укажите пароль, а также пользователя pi в формате <user>@<hostname>.
Развертывание приложения
Разверните приложение, как описано в статье "Развертывание приложений .NET на компьютерах с одной платой ARM". Убедитесь, что путь развертывания совпадает с путем, указанным в параметре cwd в конфигурации launch.js.
Запуск отладчика
На вкладке "Запуск и отладка " в Visual Studio Code выберите конфигурацию, добавленную в launch.json , и нажмите кнопку "Начать отладку". Приложение запускается на устройстве. Отладчик можно использовать для установки точек останова, проверки локальных переменных и многого другого.
Отладка из Visual Studio в Windows
Visual Studio может выполнять отладку приложений .NET на удаленных устройствах через SSH. Никаких дополнительных настроек на устройстве не требуется. Дополнительные сведения об использовании Visual Studio для удаленной отладки .NET см. в статье об удаленной отладке .NET в Linux с помощью SSH.
Не забудьте выбрать dotnet процесс, если выполняется отладка развертывания, зависящей от платформы. В противном случае процесс будет называться таким же, как исполняемый файл приложения.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Практическое обучение для развертывания и удаленной отладки приложений ASP.NET Core в службе приложение Azure непосредственно с помощью Visual Studio 2022.
Создавайте комплексные решения в Microsoft Azure для создания Функции Azure, реализации веб-приложений и управления ими, разработке решений, использующих службу хранилища Azure, и т. д.