KasperskyOS Community Edition 1.3

Отладка программы в составе KPA-пакета

Отладка программы в составе KPA-пакета, в отличие от отладки программ в решении на базе KasperskyOS, позволяет не выполнять полную сборку решения на базе KasperskyOS после внесения изменений в код прикладной программы.

Сценарий отладки программы в составе KPA-пакета выглядит следующим образом:

  1. Установка расширения KasperskyOS SDK Extension.
  2. Сборка прикладной программы и ее упаковка в KPA-пакет. Для того чтобы упаковать прикладную программу в KPA-пакет, необходимо использовать CMake-команды библиотеки kpa.
  3. Запуск базового образа KasperskyOS из состава KasperskyOS Community Edition со встроенным в ядро GDB-сервером.
  4. Подключение отладчика к GDB-серверу ядра. Отладчик можно подключить при старте программы или при работе программы. Подробнее:
  5. Отладка программы с помощью графического интерфейса Visual Studio Code. Подробнее см. документацию Visual Studio Code: https://code.visualstudio.com/docs/editor/debugging.
В начало
[Topic kpa_debug]

Подключение отладчика при старте программы в базовом образе

Чтобы подключить отладчик к GDB-серверу ядра при старте программы в QEMU с помощью расширения Visual Studio Code:

  1. Установите точку останова в исходном коде программы перед отлаживаемым фрагментом.
  2. Соберите программу. Для того чтобы упаковать прикладную программу в KPA-пакет, необходимо использовать CMake-команды библиотеки kpa.
  3. Запустите базовый образ KasperskyOS из состава KasperskyOS Community Edition.
  4. Дождитесь окончания загрузки базового образа и установите программу с помощью команды KOS: Install package.
  5. В боковой панели Visual Studio Code нажмите Run and debug > create a launch.json file , а затем выберите KasperskyOS Debugger.

    В результате будет создан файл конфигурации отладки launch.json.

  6. В файле launch.json в поле конфигурации с именем (kos/gdb) Launch & debug application укажите путь до бинарного файла вашей программы, полученного в результате сборки и имя программы. В поле eiid необходимо указать значение kl.Kds.
  7. Запустите отладку, нажав на кнопку (kos/gdb) Launch & debug application на нижней панели.
  8. В раскрывающемся списке выберите конфигурацию с именем (kos/gdb) Launch & debug application.
  9. В отладочной консоли появится сообщение, что программа готова к отладке. Нажмите на кнопку Continue и выполнение программы будет остановлено на выбранной в п.1 точке останова.
В начало
[Topic kpa_debug_start]

Подключение отладчика при работе программы, запущенной в базовом образе

Чтобы подключить отладчик к GDB-серверу ядра при работе программы в QEMU с помощью расширения Visual Studio Code:

  1. Добавьте в функцию main программы бесконечный цикл. Это позволит отладчику подключиться к работающей программе.
  2. Установите точку останова в исходном коде программы перед отлаживаемым фрагментом.
  3. Соберите программу. Для того чтобы упаковать прикладную программу в KPA-пакет, необходимо использовать CMake-команды библиотеки kpa.
  4. Запустите базовый образ KasperskyOS из состава KasperskyOS Community Edition.
  5. В боковой панели Visual Studio Code нажмите Run and debug > create a launch.json file , а затем выберите KasperskyOS Debugger.

    В результате будет создан файл конфигурации отладки launch.json.

  6. В файле launch.json в поле конфигурации с именем (kos/gdb) Attach to process укажите путь до бинарного файла вашей программы, полученного в результате сборки.
  7. Запустите программу в базовом образе.
  8. Запустите отладку, нажав на кнопку (kos/gdb) Attach to process на нижней панели.
  9. В раскрывающемся списке выберите конфигурацию с именем (kos/gdb) Attach to process и выберите имя программы для отладки.
  10. В отладочной консоли появится сообщение, что программа готова к отладке. Нажмите на кнопку Continue и выполнение программы будет остановлено на выбранной в п.2 точке останова.
В начало
[Topic kpa_debug_attach]