Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Отладка .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-разрядная).
-
Visual Studio Code с расширением C#.
- Отключите аппаратное ускорение.
- .NET SDK версии 10 или позже.
- Установите с помощью скрипта dotnet-install как при развертывании, зависящем от фреймворка. Обязательно добавьте переменную среды
DOTNET_ROOT, а также добавьте каталог .dotnet в$PATH.
- Установите с помощью скрипта dotnet-install как при развертывании, зависящем от фреймворка. Обязательно добавьте переменную среды
В остальной части этой статьи описывается, как выполнять отладку приложений .NET на компьютерах с одной платой удаленно с компьютера разработки.
Отладка из 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 удаленный отладчик:
curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg
Настройка файла launch.json в Visual Studio Code
На компьютере разработки добавьте конфигурацию запуска в launch.json проекта. Если у проекта нет файла launch.json, добавьте его, переключившись на вкладку Run, выбрав создайте файл launch.json и выберите .NET или .NET Core в диалоговом окне.
Новая конфигурация в launch.json должна выглядеть примерно так:
"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"
}
},
Обратите внимание на следующее:
-
program— исполняемый файл, созданный с помощьюdotnet publish. -
cwd— рабочий каталог, используемый при запуске приложения на устройстве. -
pipeProgram— это путь к клиенту SSH на локальном компьютере. -
pipeArgs— это параметры, передаваемые клиенту SSH. Обязательно укажите параметр пароля, а такжеpiпользователя в формате<user>@<hostname>.
Развертывание приложения
Разверните приложение, как описано в Deploy .NET приложения на компьютерах с одной платой ARM. Убедитесь, что путь развертывания совпадает с путьом, указанным в cwd параметре в конфигурацииlaunch.json .
Запуск отладчика
Visual Studio Code На вкладке Run and Debug выберите конфигурацию, добавленную в launch.json и выберите Start Debuging. Приложение запускается на устройстве. Отладчик может использоваться для задания точек останова, проверки значений локальных переменных и многого другого.
Отладка из Visual Studio на Windows
Visual Studio может выполнять отладку приложений .NET на удаленных устройствах с помощью SSH. На устройстве не требуется специализированная конфигурация. Дополнительные сведения об использовании Visual Studio для удаленной отладки .NET см. в статье Remote debug .NET в Linux с помощью SSH.
Не забудьте выбрать процесс dotnet, если вы занимаетесь отладкой развертывания, зависящего от фреймворка. В противном случае процесс будет называться таким же, как исполняемый файл приложения.