Я использую Qt Creator в Ubuntu. Он установлен из репозиториев, но, как и сейчас, нет способа войти в источники Qt при отладке.
Как включить это?
Я использую Qt Creator в Ubuntu. Он установлен из репозиториев, но, как и сейчас, нет способа войти в источники Qt при отладке.
Как включить это?
Так как Qt Creator использует gdb, вам нужно настроить gdb. Первое, что нужно сделать, это установить Qt отладочные символы:
apt-get install libqt4-dbg
Или, для Qt5:
apt-get install qtbase5-dbg # For the qtbase package
Это установит символы отладки для библиотек Qt. В более старых версиях Ubuntu была глупая ошибка, которая требовала дополнительного трюка для исправления этих файлов символов, но в текущем выпуске он отлично работает.
Это сделает шаг gdb внутри методов Qt, но это не весело без источников. Таким образом, нам нужны источники, которые можно установить таким образом, предполагая, что исходный репозиторий включен в APT:
apt-get source qt4-x11
ln -s qt4-x11-4.7.0 qt # a convenience symlink
Или, для Qt5:
apt-get source qtbase-opensource-src
# Make a link as above, if you wish
Загрузите источники, распакуйте их в текущий каталог и исправьте их соответственно, не требуя прав root, если текущий каталог не может быть записан текущим пользователем.
И последнее, что нужно сообщить gdb местоположения источников, которое делается, помещая это в файл ~/.gdbinit
:
dir ~/vita/qt/src/corelib
dir ~/vita/qt/src/gui
dir ~/vita/qt/src/network
dir ~/vita/qt/src/sql
Добавьте модули и исправьте пути по мере необходимости. Удобная символическая ссылка очень полезна здесь, поэтому нам не нужно редактировать этот файл каждый раз, когда мы обновляемся до новой версии Qt. Нам нужно только загрузить новые источники, исправить их и изменить символическую ссылку.
Обратите внимание, что даже мы установили отладочные символы, мы по-прежнему используем сборку выпусков Qt-библиотек. Это означает, что код сильно оптимизирован и иногда будет очень странным при входе в двоичные файлы Qt. Если это проблема, тогда необходимо создать Qt в режиме отладки, установить его отдельно (например, в /usr/local/qt 4-debug) и сообщить Qt Creator, что он использует эту конкретную установку.
Единственный способ, которым я работал над Ubuntu, - построение Qt из источников с помощью configure -debug
.
После этого все стало работать как прелесть.
Базовые пакеты Qt для Linux не содержат символов отладки, поэтому отладчик не знает файлы или номера строк, на которые нужно перейти. Вам нужно создать Qt самостоятельно с параметром -debug configure, если вы хотите отлаживать Qt-код.
Инструкции от Сергея Таченова будут работать, только если вы создадите приложение против версии Qt, которую вы можете найти в репозиториях Ubuntu.