Отладка высокоуровневого приложения
Убедитесь, что устройство подключено к компьютеру через USB. В меню Задать элемент запуска выберите Приложение Azure Sphere (HLCore), где приложение Azure Sphere — это имя текущего высокоуровневого приложения, или нажмите клавишу F5.
Если вам будет предложено выполнить сборку проекта, нажмите кнопку Да. Visual Studio компилирует приложение, создает пакет образа, загружает его на доску и запускает в режиме отладки. Загрузка неопубликованных приложений означает, что приложение доставляется непосредственно с компьютера через проводное подключение, а не через облако.
Обратите внимание на идентификатор изображения пакета изображений в представлении>выходных>данных Показать выходные данные из: Выходные данные сборки . Идентификатор образа будет использоваться далее в разделе Руководство. Создание облачного развертывания.
По умолчанию в окне Выходные данные отображаются выходные данные устройства. Чтобы просмотреть сообщения отладчика, выберите Отладка в раскрывающемся меню Показать выходные данные из: Вы также можете проверить дизассемблю, регистры или память программы с помощью меню Отладка>Windows .
Затем можно использовать отладчик Visual Studio для задания точек останова, приостановки, пошагового перехода, перехода, перезапуска или остановки приложения.
При остановке в точке останова в исходном коде C можно открыть окно дизассемблирования, в котором отображается текущий адрес, mnemonic ассемблер для текущей команды и такие сведения, как задействованные регистры или выполняемая команда исходного кода.
Чтобы открыть окно дизассемблирования , выполните следующие действия:
- Убедитесь, что исходный файл кода C, содержащий точку останова, открыт в Visual Studio.
- Выберите Отладка>дизассемблииWindows> или нажмите клавиши ALT+8.
Нажмите клавишу F5, чтобы выполнить сборку и отладку проекта. Если проект ранее не был создан или файлы изменились и требуется перестроение, Visual Studio Code выполнит сборку проекта до начала отладки.
Подождите несколько секунд, пока Visual Studio Code создадут приложение, создадут пакет образа, разверните его на плате и запустите в режиме отладки. Попутно вы увидите обновления состояния в области Выходные данные .
Во-первых, CMake определяет, требуется ли сборка приложения. Если это так, фокус переместится на окно вывода, в котором отображаются выходные данные из CMake/Build.
Затем на панели Вывод отображается результат при развертывании пакета образа на устройстве. Наконец, консоль отладки получает фокус и отображает выходные данные отладчика.
Используйте отладчик Visual Studio Code для задания точек останова, приостановки, пошагового перехода, перехода, перезапуска или остановки приложения.
Остановленный в точке останова в исходном коде C, можно открыть представление дизассемблирований, в котором отображаются текущий адрес, необработанные шестнадцатеричные данные, mnemonic ассемблер для текущей команды и такие сведения, как задействованные регистры или выполняемая команда исходного кода.
Чтобы открыть представление Дизассембля, выполните следующие действия:
- Убедитесь, что исходный файл кода C, содержащий точку останова, открыт в редакторе Visual Studio Code.
- Щелкните правой кнопкой мыши в окне редактора и выберите Открыть представление дизассемблирования или выберите Вид>Палитра> командОткрыть представление дизассемблирования.
Чтобы отладить приложение, остановите его, а затем перезапустите с отладкой:
az sphere device app stop --component-id <ComponentId>
az sphere device app start --debug-mode --component-id <ComponentId>
Вы увидите следующее:
<ComponentID>
App state : debugging
GDB port : 2345
Output port : 2342
Core : High-level
Command completed successfully in 00:00:00.9121174.
Откройте командную строку и используйте любой клиент терминала Windows для установки подключения Telnet или необработанного TCP-подключения для чтения выходного потока из процесса. Укажите 192.168.35.2 в качестве IP-адреса и 2342 в качестве порта.
Откройте интерфейс командной строки с помощью PowerShell, командной строки Windows или командной оболочки Linux. Запустите отладчик командной строки gdb :
Командная строка Windows
"C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb.exe" IntercoreComms_HighLevelApp.out
Windows PowerShell
& "C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb.exe" IntercoreComms_HighLevelApp.out
Примечание
Пакет SDK для Azure Sphere поставляется с несколькими системными ролями , чтобы приложения могли ориентироваться на различные наборы API, как описано в разделе Версия среды выполнения приложения, sysroots и бета-версии API. Sysroots устанавливаются в папке установки пакета SDK для Azure Sphere в разделе Sysroots.
Задайте для цели удаленной отладки IP-адрес 192.168.35.2 через порт 2345:
target remote 192.168.35.2:2345
Выполните все выбранные команды gdb . Например:
break main
c
Команды
break
иc
задают точку останова при входе main(), а затем продолжить выполнение после точки останова соответственно. Для gdb доступно множество источников документации.