Настройка Qt Creator для отладки в Qt-классы

Я хочу настроить Qt Creator (3.0) таким образом, чтобы я мог отлаживать классы Qt. Поэтому я загружаю соответствующий код src (http://gitorious.org/qt/qt5) и устанавливаю его в каталог (например, c:\Qt5\src).

Тогда у меня есть собственный проект. Где мне нужно установить путь к исходному коду Qt (c:\Qt5\src), поэтому я могу отлаживать свой код, но также и в Qt-классе, где это необходимо.

- Редактировать: комментарий Pavel -

Павел дал хороший намек: Но я использую предварительно скомпилированную версию Qt/Qt Creator. Поэтому я в основном ищу решение, которое не требует от меня компиляции из источника. Тем не менее полезный намек. Спасибо.

Ответ 1

Если вы используете предварительно созданную версию, просто переназначьте расположение исходного кода, как описано в http://doc.qt.io/qtcreator/creator-debugger-engines.html.

Сопоставление исходных путей

Чтобы разрешить отладчику входить в код и отображать исходный код при использовании копии дерева исходных текстов в месте, отличном от того, в котором были созданы библиотеки, сопоставьте исходные пути с целевыми путями:

  • Выберите Инструменты> Параметры> Отладчик> Общие> Добавить.
  • В поле "Исходный путь" укажите исходный путь в отладочной информации исполняемого файла, сообщаемой отладчиком.
  • В поле "Целевой путь" укажите фактическое расположение исходного дерева на локальном компьютере.

Чтобы получить "исходный путь в отладочной информации исполняемого файла, сообщаемой отладчиком", вы можете активировать опцию " Использовать всплывающие подсказки в просмотре стека при отладке ", щелкнув правой кнопкой мыши в представлении стека и наведя указатель мыши на определенный объект. вызов функции.

Ответ 2

Если вы просмотрите всплывающие подсказки, вы увидите ссылки на /Users/qt/work, там укажут развернутые на Mac символы отладки. Конечно, это не документировано, так как эти люди хотят, чтобы вы купили предприятие.

Если вы создаете каталог /Users/qt/work (от имени пользователя root), тогда сделайте мягкую ссылку на исходный каталог с именем qt, все будет работать. Нет необходимости строить что-либо из источника (под Mac, что приведет к тому, что десятки концертов будут потрачены впустую). Те же соображения о плагинах

Пример:

sudo -s
mkdir /Users/qt
cd /Users/qt
mkdir work
cd work
ln -s /Users/your_user_name/Qt/your_qt_release/Src qt

Все будет работать. Любое исходное сопоставление не удалось, поэтому оставьте их в покое. Надеюсь, что это поможет

Ответ 3

Вы должны скомпилировать свой собственный Qt. Это единственный способ получить эту функциональность. Вы можете использовать любую IDE, которую хотите, включая предварительно скомпилированную. Просто зарегистрируйте свой самокомпилированный Qt как набор в Qt Creator.

Предварительно скомпилированный Qt просто не поставляется с файлами с отладочной информацией. Вы можете потратить неограниченное количество времени на отладку в предварительно скомпилированный Qt. Это невозможно на платформах Unix, поскольку требуемые объекты, содержащие отладочную информацию, не отправляются. Кроме того, он не доступен для Windows по той же причине - файлы .pdb не существуют для сборки MSVC, а объектные файлы там не существуют для сборки mingw. Что серьезно все там к нему.

При построении сборки Qt -debug-and-release вы должны сохранить все следующие деревья (папки), чтобы отладка работала:

  • Источник
  • сборки,
  • установить префикс.

Я действительно не знаю, для чего был подготовлен Qt. Насколько мне известно, его не следует предлагать: это просто путает всех. Это бесполезно для конечных пользователей, и это бесполезно для разработчиков - я просто не вижу отладки серьезно без доступа к источникам Qt. Это побеждает цель того, что в какой-то момент есть источники. Конечно, должен быть готовый Qt Creator с заранее подготовленными библиотеками Qt, которые ему нужны, но это не должно быть раскрыто вне его.

Ответ 4

С Xcode, прежде чем вы войдете в библиотеку Qt в первый раз, введите следующую команду в окне LLDB:

settings set target.source-map /Users/qt/work/qt /path/to/Qt/5.10.1/Src

(Очевидно, вы захотите изменить номер версии, в зависимости от ситуации).

Но предположим, что Trolltech меняет каталог сборки, что делать дальше? (Или как вики-сообщество, которое дало путь /Users/qt/work/qt нашло его?) Вы можете догадаться, каким должен быть путь, отредактировав /path/to/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/QtCore_debug (или любая другая библиотека Qt) и поиск некоторых путей. "/Пользователи" кажется хорошим предположением. Приблизительно на 2% в библиотеке вы начнете видеть разделы с множеством путей, таких как:

../../include/QtCore/../../src/corelib/kernel^@../../include/QtCore       
/../../src/corelib/tools^@global^@/Users/qt/work/qt/qtbase/src/corelib
/../../include/QtCore/../../src/corelib/arch^@/Applications/Xcode.app
/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/<etc>

Ищите абсолютный путь, который выглядит так, как будто он может быть записан. (/Applications/... не будет вероятным путем сборки, например)