Отладка высокоуровневого приложения
Внимание
Это документация по Azure Sphere (устаревшая версия). Служба Azure Sphere (устаревшая версия) выходит на пенсию 27 сентября 2027 г., и к этому времени пользователи должны перейти в Azure Sphere (интегрированная). Используйте селектор версий, расположенный над toC, чтобы просмотреть документацию по Azure Sphere (интегрированная).
Убедитесь, что ваше устройство подключено к компьютеру через USB. В меню "Задать элемент запуска" выберите приложение Azure Sphere (HLCore), где приложение Azure Sphere — это имя текущего высокоуровневого приложения или нажмите клавишу F5.
Если появится запрос о создании проекта, выберите Да. Visual Studio компилирует приложение, создает пакет образов, загружает неопубликованные приложения на доску и запускает их в режиме отладки. Загрузка неопубликованного приложения означает, что приложение доставляется непосредственно с компьютера по проводному подключению, а не через облако.
Обратите внимание на идентификатор изображения пакета изображения в выходных>: выходные данные сборки. Вы будете использовать идентификатор образа далее в руководстве. Создание облачного развертывания.
По умолчанию в окне вывода отображаются выходные данные из выходных данных устройства. Чтобы увидеть сообщения отладчика, выберите Отладка в раскрывающемся меню Show output from: (Показать выходные данные из:). Также в меню Отладка>Окна можно проверить дизассемблированный код программы, ее регистры или память.
Затем можно использовать отладчик Visual Studio, чтобы задать точки останова, приостановить, выполнить шаг, выполнить шаг, перезапустить или остановить приложение.
Остановив точку останова в исходном коде C, можно открыть окно дизассембли, отображающее текущий адрес, а также сведения, связанные с текущей командой, а также сведения, такие как регистры или выполняемая команда исходного кода.
Чтобы открыть окно Дизассембли:
- Убедитесь, что исходный файл кода C, содержащий точку останова, открыт в Visual Studio.
- Выберите "Отладить"Дизассембли>" или нажмите клавиши ALT+8.
Нажмите клавишу F5, чтобы создать и отладить проект. Если проект ранее не был создан, или если файлы изменились и перестроение необходимы, Visual Studio Code создаст проект перед началом отладки.
Подождите несколько секунд, пока Visual Studio Code создаст приложение, создайте пакет образа, разверните его на доске и запустите его в режиме отладки. На панели вывода вы увидите обновления состояния.
Во-первых, CMake определяет, нужно ли создавать приложение. В этом случае фокус перемещается в выходное окно, в котором отображаются выходные данные из CMake/Build.
Затем на панели "Выходные данные " отображается результат при развертывании пакета образа на устройстве. Наконец, консоль отладки получает фокус и отображает выходные данные отладчика.
Используйте отладчик Visual Studio Code, чтобы задать точки останова, приостановить, выполнить шаг, выполнить шаг, перезапустить или остановить приложение.
При остановке в точке останова в исходном коде C можно открыть представление Дизассембли, отображающее текущий адрес, необработанные шестнадцатеричные данные, сборщик mnemonic для текущей команды и сведения, такие как регистры, участвующие или выполняемая команда исходного кода.
Чтобы открыть представление Дизассембли, выполните следующие действия.
- Убедитесь, что исходный файл кода C, содержащий точку останова, открыт в редакторе Visual Studio Code.
- Щелкните правой кнопкой мыши в окне редактора и выберите "Открыть дизассемблированное представление" или ">> дизассембли".
Чтобы отладить приложение, остановите его, а затем перезапустите его с помощью отладки:
azsphere device app stop --component-id <ComponentId>
azsphere 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-подключение для чтения выходного потока из процесса. Укажите IP-адрес 192.168.35.2 и порт 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. Компоненты sysroot устанавливаются в папку установки пакета 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.