Способы отладки#
Часто возникает потребность в удаленной отладки приложений, запущенных на планшете или телефоне. Далее будет рассмотрена удаленная отладка приложений с архитектурами amd64 и arm64.
1. Удаленная отладка приложения с архитектурой amd64#
1.1. Установка дополнительных пакетов#
Устанавливаем на удаленной машине
gdbserver
sudo apt install gdbserver
1.2. Настройка QtCreator#
Добавляем удаленное устройство (
)

Добавляем комплект для удаленного устройства (
). В полеУстройство
указываем добавленное устройство.

1.3. Сборка пакета с отладочной информацией и его установка#
Собираем пакет с отладочной информацией
DEB_BUILD_OPTIONS='nostrip noopt debug' dpkg-buildpackage -uc -us
В данном случае отладочная информация не будет находиться в отдельном пакете
Устанавливаем пакет(ы) на хостовую и удаленную машины
1.4. Отладка#
На удаленной машине:
Подключаемся gdbserver-ом к процессу, который нужно отладить
sudo gdbserver :12345 --attach $(pidof <имя процесса>)
На хосте:
Запускаем
QtCreator
из папки с исходными текстамиЗапускаем отладку (Отладка/Начать отладку/Подключиться к серверу отладки…)

2. Удаленная отладка приложения с архитектурой arm64#
2.1. Установка дополнительных пакетов#
Устанавливаем на удаленной машине gdbserver
sudo apt install gdbserver
На хосте устанавливаем gdb-multiarch
sudo apt install gdb-multiarch
2.2. Настройка QtCreator#
Добавляем удаленное устройство (
)

Добавляем отладчик

Добавляем комплект для удаленного устройства (
). В полеУстройство
указываем добавленное устройство. В полеОтладчик
указываем добавленный отладчик.

2.3. Подготовка chroot#
2.4. Сборка пакета с отладочной информацией и его установка#
Собираем пакет с отладочной информацией в
chroot
DEB_BUILD_OPTIONS='nostrip noopt debug' dpkg-buildpackage -uc -us
В данном случае отладочная информация не будет находиться в отдельном пакете
Устанавливаем пакет(ы) в
chroot
и на удаленную машину
2.5. Отладка#
На удаленной машине:
Подключаемся
gdbserver
к процессу, который нужно отладить
sudo gdbserver :12345 --attach $(pidof <имя процесса>)
На хосте:
Запускаем
QtCreator
из папки с исходными текстамиЗапускаем отладку (
). В поле «Локальная программа» указываем программу из chroot-a. В полеПереопределение SysRoot
указываем подготовленныйchroot
.
