Я провел целый день, пытаясь найти способ включить отладку GDB из Qt Creator или Eclipse. Я узнал, что в основном есть два подхода к запуску целевого приложения:
- Использование ssh (
ssh host gdb
) - Использование gdbserver
Я смог использовать оба подхода для запуска gdb удаленно и запускать приложение. Однако GDB никогда не отвечает на какие-либо точки останова, установленные в среде IDE. Также я не могу приостановить приложение для проверки состояния программы. В Qt Creator я просто получаю неясную трассировку стека (я мог бы смотреть на следы ssh или gdb на самом деле...).
Кто-нибудь может помочь мне начать?
Прогресс!
Я обнаружил, что с Qt Creator 2.0 есть функция, называемая "Прикрепить и отлаживать удаленное приложение". Он основан на gdbserver. Хорошо, что он останавливается на контрольных точках IDE. Однако есть две проблемы:
- Когда он достигает точки останова, он показывает только код сборки, а не исходный код.
- GDB часто уходит из-за "полученного сигнала"
Я должен, вероятно, упомянуть, что удаленный исполняемый файл скомпилирован с более старой версией GCC, чем тот, который установлен на моем локальном ПК. Возможно, некоторые из этих проблем связаны с этим.
Update
Я должен упомянуть, что я переключился на запуск cgdb на удаленном компьютере через SSH.
Удаленное решение на основе Qt Creator не было стабильным. GDB стремится выйти из-за таинственных сообщений, полученных от сигнала.