Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: kamil от Январь 28, 2016, 18:17



Название: Отладка и просмотр исходного кода Qt в Qt Creator [решено]
Отправлено: kamil от Январь 28, 2016, 18:17
Я хотел бы иметь возможность во время отладки в Qt Creator видеть исходный код Qt, ставить брекпойнты, и, по возможности, использовать follow symbol under cursor с классами Qt.
Вроде как для этого нужно собрать qt из исходников, в конфигураторе указав -debug. Что делать дальше? Как настроить дабаггер, чтобы он работал видел исходные файлы? Можно ли будет смотреть символы Qt?


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: Racheengel от Январь 28, 2016, 19:50
Та вроде ничего не надо дополнительно ему настраивать.


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: Bepec от Январь 28, 2016, 20:31
Пути указать к исходникам. И всё будет.


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: kamil от Январь 29, 2016, 00:14
Да, сейчас попробую, докомпилирую только


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: kamil от Январь 29, 2016, 02:43
Пути указать к исходникам. И всё будет.


А где именно? В настройках отладчика?


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: Bepec от Январь 29, 2016, 12:11
Ну в QtCreator я не лез с такими проблемами, я пользовался Visual Studio. А там просто в настройках IDE указываешь папку с include и всё цепляется автоматом.


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: kuzulis от Январь 29, 2016, 12:48
Цитировать
In the QtCreator options, under Debugger->General you need to click on "Add Qt sources...". Then you need to select C:\QtSDK\QtSources\4.8.0. I was originally making the mistake of selecting C:\QtSDK\QtSources\4.8.0\src - which obviously was failing.

Once you OK out of the dialog you should be able to debug into the Qt source code in QtCreator.

отсюда: https://forum.qt.io/topic/5698/qt-creator-view-and-debug-into-qt-sources/10

PS: А самому гуглить не получается что-ли? Я не понимаю лень такого рода...


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: xokc от Январь 29, 2016, 16:20
Из совсем свежего: http://www.prog.org.ru/index.php?topic=29541
Там всё уже написано.


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: kamil от Январь 30, 2016, 02:06
Цитировать
In the QtCreator options, under Debugger->General you need to click on "Add Qt sources...". Then you need to select C:\QtSDK\QtSources\4.8.0. I was originally making the mistake of selecting C:\QtSDK\QtSources\4.8.0\src - which obviously was failing.

Once you OK out of the dialog you should be able to debug into the Qt source code in QtCreator.

отсюда: https://forum.qt.io/topic/5698/qt-creator-view-and-debug-into-qt-sources/10

PS: А самому гуглить не получается что-ли? Я не понимаю лень такого рода...

Да, я уже находил эту ссылку, но похоже что для Qt Creator под Mac немного отличается. У меня нет кнопки add qt source, и я долго не мог понять что прописывать в source path.
Я пытался вручную прописывать:
q:\5_workdir\w\s\qtbase -> /Users/kamil/Downloads/qt5.5.1/qtbase
но это не увенчались успехом.
При попытке step into в qt код, он никуда не идет, и если попытаться посмотреть на фанкцию из стека вызовов, попадаешь в дизассемблер.
Есть идеи?


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: panAlexey от Январь 30, 2016, 09:23
> Есть идеи?

Посмотри исходники креатора, в плане того куда он пишет установки пути сорцов и впиши вручную.


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: xokc от Январь 30, 2016, 14:04
Найти отладочную версию любой so из состава Qt, посмотреть на её "внутренности", найти в ней строку вида "work/build/qt5_workdir/w/s" (или как там в MacOS оно выглядит) и сопоставить ей путь к папке с реальными исходниками, т.е. к папке, родительской по отношению к qtbase. Если в QtCreator for MacOS нет стандартного способа это сделать, то может симлинки соответствующие создать на уровне файловой системы?


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator
Отправлено: kamil от Январь 30, 2016, 21:01
В so файлах было q:\qt5_workdir\w\s, но с первого раза не отлаживалось.
Не до конца понял, почему с первого раза с q:\qt5_workdir\w\s не заработало, но после пересборки работает. До этого собирал с ключом -debug-and-release, возмоно из-за этого.

Рецепт на всякий случай:

1. Качаем и собираем Qt из исходников. Все нормально расписано тут: http://doc.qt.io/qt-5/build-sources.html (http://doc.qt.io/qt-5/build-sources.html), единственное для конфигуратора, я использовал следующие настройки:
Код:
./configure
-debug
-no-framework
-opensource
-confirm-license
-prefix ~/Qt/5.6
-nomake examples
-nomake tests
-skip qtactiveqt
-skip qtandroidextras
-skip qtcanvas3d
-skip qtconnectivity
-skip qtdeclarative
-skip qtenginio
-skip qtgraphicaleffects
-skip qtlocation
-skip qtmacextras
-skip qtquick1
-skip qtquickcontrols
-skip qtscript
-skip qtsensors
-skip qttranslations
-skip qtwayland
-skip qtwebchannel
-skip qtwebengine
-skip qtwebkit
-skip qtwebkit-examples
-skip qtwebsockets
-skip qtwinextras
-skip qtx11extras
-skip qtxmlpatterns

Я отключил практически все, кроме того, что мне было нужно: qtbase, qtserial, qtsvg, qtmultimedia, без отключения всего ненужного, скорость сборки возрастет существенно.

2. Добавляем версию Qt в Build & Run -> Qt Verisions:
(http://zaripov.net/11.png)

3. Создаем кит(? не знаю как по-русски правильно) в Build & Run -> Kits:
(http://zaripov.net/12.png)

4. В настройках Debugger ставим в соответствие q:\qt5_workdir\w\s ->/Users/kamil/Downloads/qt-everywhere-opensource-src-5.5.1
(http://zaripov.net/13.png)
Где /Users/kamil/Downloads/qt-everywhere-opensource-src-5.5.1 это место, где у вас лежат исходники, из которых вы собирали Qt.
Что за sourse path - q:\qt5_workdir\w\s понятия не имею, было бы интересно узнать, что это за путь в виртуальной машине (?), нужно ли это знать, и, елси нужно, где про это можно прочитать.

5. В принципе все, можно ставить брекпойнт, и делать step into. Должно сработать.

Если нужно чтобы qtcreator видел символы qt, и мог по ним проходить по нажатию на f2 - нужно чтобы соответствующие файлы были в дереве проектов. Для этого можно, например, открыть qtbase.pro, что в исходниках (или любой другой нужный вам модуль). Открывать весь qt.pro не советовал бы - долговато.


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator [решено]
Отправлено: kamil от Январь 31, 2016, 03:14
И еще. Возможно глупый вопрос. Сконфигурировал я, допустим, qt с опцией, -debug-and-release. Собрал и установил. Подключил qt к qt creator.
Дальше чтобы отлаживать qt, нужно ли что-то дополнительно делать? Просто в таком случае у меня отладчик в qt код не идет, только в дизассемблер.

Отладчик идет в qt код только если сконфигурировать код с -debug -no-framework. А вот с -debug-and-release ни в какую.


Название: Re: Отладка и просмотр исходного кода Qt в Qt Creator [решено]
Отправлено: kambala от Январь 31, 2016, 18:04
в свойствах проекта надо галочку про дебаг либы ставить