Чтобы начать отладку с использованием GDB-сервера ядра KasperskyOS на аппаратной платформе, нужно выполнить следующие шаги:
Для этого нужно вызвать 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
Исполнение кода решения останавливается при подключении отладчика GDB.
Для этого нужно запустить исполняемый файл toolchain/bin/aarch64-kos-gdb
из состава KasperskyOS Community Edition. Запуск нужно выполнить в директории, где сохранен созданный вручную файл .gdbinit
.
Чтобы загрузить отладочные символы, нужно переключиться на инфериор, ассоциированный с процессом, и использовать следующие GDB-команды:
add-symbol-file
<путь к файлу
> – для исполняемых файлов со статической или динамической компоновкой;file
<путь к файлу
> – для исполняемых файлов с динамической компоновкой.GDB-команду file
нужно использовать, чтобы отладчик GDB загрузил отладочные символы исполняемого файла и динамических библиотек, от которых зависит этот исполняемый файл. Чтобы отладчик GDB загрузил отладочные символы только исполняемого файла с динамической компоновкой, нужно использовать GDB-команду add-symbol-file
.
Если отладочные символы сохраняются не в исполняемых файлах, а в отдельных файлах, то в исполняемые файлы добавляются ссылки на файлы с отладочными символами. При вызове GDB-команды add-symbol-file
или file
можно указывать как исполняемый файл, так и файл с отладочными символами.
При повторной сборке (шаг 1) нужно завершить сессию отладки (выйти из отладчика GDB) и выполнить повторно шаги 2-4.
В начало