Начало отладки программы
23 января 2025
ID 260169
После подключения отладчика к GDB-серверу ядра, запущенному в QEMU или на устройстве Kaspersky IoT Secure Gateway 1000, вам становится доступна консоль отладчика GDB. При этом происходит остановка в одном из процессов. Инфериор (англ. inferior) – объект в GDB, ассоциированный с одним из отлаживаемых процессов.
Чтобы приступить к отладке вашей программы:
- Получите идентификатор процесса (PID), в котором произошла остановка. Для этого выполните следующую команду в консоли GDB:
(gdb) info inferiors
- Получите список идентификаторов процессов, выполнив следующую команду:
(gdb) info os processes
В отображенном списке процессов, найдите имя по идентификатору процесса (PID), полученному на предыдущем шаге.
- Если остановка произошла не в том процессе, который вы хотите отлаживать:
- Добавьте новый инфериор, выполнив команду
add-inferior.Обратите внимание на номер добавленного инфериора в выводе команды.
- Переключитесь на новый инфериор, выполнив команду
inferior 2(вместо2подставьте номер инфериора, полученный на предыдущем шаге). - Подключитесь к процессу, который вы хотите отлаживать с помощью команды
attach 123(вместо123подставьте PID нужного процесса, ранее отображенного командойinfo os processes).
- Добавьте новый инфериор, выполнив команду
- Загрузите ассоциированные с процессом отладочные символы, используя команду
file <path>.Если отладочные символы сохраняются не в исполняемых файлах, а в отдельных файлах, то в исполняемые файлы добавляются ссылки на файлы с отладочными символами. При вызове команды
fileможно указать как исполняемые файлы, так и файлы с отладочными символами.
Теперь вы можете отлаживать ваш код, используя команды GDB. Например, задавать точки останова командой break, или пошагово перемещаться по коду с помощью команд step и next. Чтобы получить полный список доступных команд, выполните команду help all. Документация на отладчик GDB находится по веб-адресу https://www.sourceware.org/gdb/documentation/.