Настройка 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/...
не будет вероятным путем сборки, например)