KasperskyOS Community Edition 1.3

Начальные шаги отладки на аппаратной платформе

Чтобы начать отладку с использованием GDB-сервера ядра KasperskyOS на аппаратной платформе, нужно выполнить следующие шаги:

  1. Собрать отладочные версии исполняемых файлов и библиотек и создать образ решения для аппаратной платформы.

    Для этого нужно вызвать shell-команды cmake, указав параметры -D CMAKE_BUILD_TYPE:STRING=Debug и --target <tgt>, где tgt – значение параметра NAME в CMake-команде build_kos_hw_image().

    Пример:

    #!/bin/bash ... cmake -G "Unix Makefiles" \ -D CMAKE_BUILD_TYPE:STRING=Debug \ -D CMAKE_TOOLCHAIN_FILE=$SDK_PREFIX/toolchain/share/toolchain-$TARGET.cmake \ -B build \ && cmake --build build --target kos-image
  2. Загрузить образ решения на аппаратную платформу и запустить решение.

    Исполнение кода решения останавливается при подключении отладчика GDB.

  3. Запустить отладчик GDB и подключиться к GDB-серверу ядра.

    Для этого нужно запустить исполняемый файл toolchain/bin/aarch64-kos-gdb из состава KasperskyOS Community Edition. Запуск нужно выполнить в директории, где сохранен созданный вручную файл .gdbinit.

  4. Создать инфериоры, привязать их к процессами и загрузить отладочные символы.

    Чтобы загрузить отладочные символы, нужно переключиться на инфериор, ассоциированный с процессом, и использовать следующие GDB-команды:

    • add-symbol-file <путь к файлу> – для исполняемых файлов со статической или динамической компоновкой;
    • file <путь к файлу> – для исполняемых файлов с динамической компоновкой.

    GDB-команду file нужно использовать, чтобы отладчик GDB загрузил отладочные символы исполняемого файла и динамических библиотек, от которых зависит этот исполняемый файл. Чтобы отладчик GDB загрузил отладочные символы только исполняемого файла с динамической компоновкой, нужно использовать GDB-команду add-symbol-file.

    Если отладочные символы сохраняются не в исполняемых файлах, а в отдельных файлах, то в исполняемые файлы добавляются ссылки на файлы с отладочными символами. При вызове GDB-команды add-symbol-file или file можно указывать как исполняемый файл, так и файл с отладочными символами.

При повторной сборке (шаг 1) нужно завершить сессию отладки (выйти из отладчика GDB) и выполнить повторно шаги 2-4.