Поделиться через


Отладка высокоуровневого приложения

  1. Убедитесь, что устройство подключено к компьютеру через USB. В меню Задать элемент запуска выберите Приложение Azure Sphere (HLCore), где приложение Azure Sphere — это имя текущего высокоуровневого приложения, или нажмите клавишу F5.

    Кнопка удаленного отладчика GDB

  2. Если вам будет предложено выполнить сборку проекта, нажмите кнопку Да. Visual Studio компилирует приложение, создает пакет образа, загружает его на доску и запускает в режиме отладки. Загрузка неопубликованных приложений означает, что приложение доставляется непосредственно с компьютера через проводное подключение, а не через облако.

    Обратите внимание на идентификатор изображения пакета изображений в представлении>выходных>данных Показать выходные данные из: Выходные данные сборки . Идентификатор образа будет использоваться далее в разделе Руководство. Создание облачного развертывания.

  3. По умолчанию в окне Выходные данные отображаются выходные данные устройства. Чтобы просмотреть сообщения отладчика, выберите Отладка в раскрывающемся меню Показать выходные данные из: Вы также можете проверить дизассемблю, регистры или память программы с помощью меню Отладка>Windows .

Затем можно использовать отладчик Visual Studio для задания точек останова, приостановки, пошагового перехода, перехода, перезапуска или остановки приложения.

При остановке в точке останова в исходном коде C можно открыть окно дизассемблирования, в котором отображается текущий адрес, mnemonic ассемблер для текущей команды и такие сведения, как задействованные регистры или выполняемая команда исходного кода.

Чтобы открыть окно дизассемблирования , выполните следующие действия:

  1. Убедитесь, что исходный файл кода C, содержащий точку останова, открыт в Visual Studio.
  2. Выберите Отладка>дизассемблииWindows> или нажмите клавиши ALT+8.
  1. Нажмите клавишу F5, чтобы выполнить сборку и отладку проекта. Если проект ранее не был создан или файлы изменились и требуется перестроение, Visual Studio Code выполнит сборку проекта до начала отладки.

  2. Подождите несколько секунд, пока Visual Studio Code создадут приложение, создадут пакет образа, разверните его на плате и запустите в режиме отладки. Попутно вы увидите обновления состояния в области Выходные данные .

    Во-первых, CMake определяет, требуется ли сборка приложения. Если это так, фокус переместится на окно вывода, в котором отображаются выходные данные из CMake/Build.

    Затем на панели Вывод отображается результат при развертывании пакета образа на устройстве. Наконец, консоль отладки получает фокус и отображает выходные данные отладчика.

Используйте отладчик Visual Studio Code для задания точек останова, приостановки, пошагового перехода, перехода, перезапуска или остановки приложения.

Остановленный в точке останова в исходном коде C, можно открыть представление дизассемблирований, в котором отображаются текущий адрес, необработанные шестнадцатеричные данные, mnemonic ассемблер для текущей команды и такие сведения, как задействованные регистры или выполняемая команда исходного кода.

Чтобы открыть представление Дизассембля, выполните следующие действия:

  1. Убедитесь, что исходный файл кода C, содержащий точку останова, открыт в редакторе Visual Studio Code.
  2. Щелкните правой кнопкой мыши в окне редактора и выберите Открыть представление дизассемблирования или выберите Вид>Палитра> командОткрыть представление дизассемблирования.

Чтобы отладить приложение, остановите его, а затем перезапустите с отладкой:

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.
  1. Откройте командную строку и используйте любой клиент терминала Windows для установки подключения Telnet или необработанного TCP-подключения для чтения выходного потока из процесса. Укажите 192.168.35.2 в качестве IP-адреса и 2342 в качестве порта.

  2. Откройте интерфейс командной строки с помощью 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.

  3. Задайте для цели удаленной отладки IP-адрес 192.168.35.2 через порт 2345:

    target remote 192.168.35.2:2345
    
  4. Выполните все выбранные команды gdb . Например:

    break main
    
    c
    

    Команды break и c задают точку останова при входе main(), а затем продолжить выполнение после точки останова соответственно. Для gdb доступно множество источников документации.