LINUX.ORG.RU

Отладка QT

 , ,


0

1

Можно как-то в дебагере qtcreator просмотреть все члены, например, класса QByteArray в панеле, где показываются все объекты? Я уже запарился с этой отладкой. Я так понял, что нужно дебаг-версию собирать? Но там тоже куча ключей, кто-нить может ткнуть носом как это сделать? И почему у меня не получается открыть файл-проекта qt-everywhere-opensource-src-5.9.1/qt.pro? Зацикливается ошибка qt-everywhere-opensource-src-5.9.1/qtbase/configure.pri(215): Function 'prompt' is not implemented. И на этом все. configure запускал перед этим, отработал без ошибок. В багзилле есть баг на эту тему, но он закрыт, типа исправили.



Последнее исправление: plgrm44 (всего исправлений: 1)

ну ставим точку останова, естественно при сборке выбираем дебаг версию, запускаем, и справа раскрываем this - там все отображается

Silerus ★★★★
()

В QtCreator по дефолту есть плагин, который упрощает просмотр состояния Qt объектов. Если тебе этого мало, то я не знаю. Ты хочешь странного. Что именно тебе нужно увидеть внутри QByteArray?

ox55ff ★★★★★
()
Ответ на: комментарий от Silerus

ну ставим точку останова, естественно при сборке выбираем дебаг версию, запускаем, и справа раскрываем this - там все отображается

Отображается да совсем не то, что мне нужно. Если взять QByteArray, то там отображаются только значения массива, а мне нужны все члены класса, кот. определены в qt-everywhere-opensource-src-5.9.1/qtbase/include/QtCore/qbytearray.h

plgrm44
() автор топика
Ответ на: комментарий от ox55ff

В QtCreator по дефолту есть плагин, который упрощает просмотр состояния Qt объектов. Если тебе этого мало, то я не знаю. Ты хочешь странного. Что именно тебе нужно увидеть внутри QByteArray?

Мне нужны все члены класса, кот. определены в qt-everywhere-opensource-src-5.9.1/qtbase/include/QtCore/qbytearray.h

plgrm44
() автор топика
Ответ на: комментарий от anonymous

а нагуглить слабо ? а то чуть споткнулись уже на лорчик бегут https://bugreports.qt.io/browse/QTCREATORBUG-18220

Я же писал, что этот баг я нашел и он закрыт. Я поставил последний доступный qtcreator 4.6.1 и ситуация повторяется. И почему нельзя на лорчик бежать, чуть споткнувшись? Тут половина тем вообще болтовня ни о чем.

И, кстати, если для вас это тривиально, так напишите: как мне посмотреть в отладчике у объекта класса все его члены? Это, по сути, моя главная проблема.

plgrm44
() автор топика
Ответ на: комментарий от plgrm44

Ну так собери из консоли. Зачем открывать в QtC?

ox55ff ★★★★★
()

QT

К логопеду!

Конкретно у QByteArray значения всех полей посмотреть нельзя никак. Можно открыть Memory Editor в нём, либо эвалютить произвольные выражения без side-effects. В зависимости от того, что надо.

robus ★★★★★
()
Последнее исправление: robus (всего исправлений: 1)
Ответ на: комментарий от robus

Конкретно у QByteArray значения всех полей посмотреть нельзя никак. Можно открыть Memory Editor в нём, либо эвалютить произвольные выражения без side-effects. В зависимости от того, что надо.

Можно. Только нужно хитро собрать либу, я это делал давно, но знания были утеряны.

plgrm44
() автор топика
Ответ на: комментарий от plgrm44

Вот именно не то. Сейчас у тебя отображает так как по ссылке описано. Отключи эти хелперы и увидишь внутренние структуры.

anonymous
()
Ответ на: комментарий от anonymous

Вот именно не то. Сейчас у тебя отображает так как по ссылке описано. Отключи эти хелперы и увидишь внутренние структуры.

Отключил. Для QByteArray появилось. Для QMainWindow - ничего нет, кроме указателя на сам объект, а там должны быть десятки переменных родительских классов QWidget, QObject. Как их увидеть?

plgrm44
() автор топика
Ответ на: комментарий от Silerus

Надо сначала сканпелировадь. Потом будет я работать.

anonymous
()

QT - это плеер QuickTime, ты его разработчик и отлаживаешь его?
Qt - это кроссплатформенный фреймворк. Не путай их больше.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

QT - это плеер QuickTime, ты его разработчик и отлаживаешь его?
Qt - это кроссплатформенный фреймворк. Не путай их больше.

Вам реально делать нечего?

plgrm44
() автор топика
Ответ на: комментарий от plgrm44

Вот зовут вас, скажем, Ваня. А кто-то зовёт вас Вася. Или Валя. Какая вам разница? Подумаешь, всего одна буква.

akk ★★★★★
()

1. можно собрать из исходников qt (я собираю с ключами -release -force-debug-info -separate-debug-info) и затем собирать «этой сборкой»
2. можно поставить dbg пакеты под системную либу qt
3. если qt с сайта, то я не знаю где там дебуг символы

x905 ★★★★★
()
Ответ на: комментарий от akk

Неправильная аналогия:если вас в документах назовут ВАСЯ, то врядли будучи Васей, вы обидетесь.

plgrm44
() автор топика
Ответ на: комментарий от akk

Вот зовут вас, скажем, Ваня. А кто-то зовёт вас Вася. Или Валя. Какая вам разница? Подумаешь, всего одна буква.

Не то, здесь скорее: вы назвались способом неотличимым от аббревиатуры, а потом хотите, чтобы люди не воспринимали называние как аббревиатуру. Думать надо было головой, когда называли.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Думать надо было головой, когда называли.

Мы не можем повлиять на название Qt. Но можем использовать то название, которое дали разработчики.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Мы не можем повлиять на название Qt. Но можем использовать то название, которое дали разработчики.

Но при этом гнать на людей, которые его не так записали, — неадекватное поведение, которое уже порядком задрало. QT с Qt попутать в контексте невозможно, но нет же, набегают всякие «умники»...

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Но при этом гнать на людей, которые его не так записали, — неадекватное поведение, которое уже порядком задрало.

Меня больше задрали те, кто неспособен написать правильное название инструмента или фреймворка о котором ведет речь.

QT с Qt попутать в контексте невозможно, но нет же, набегают всякие «умники»...

Это зависит от контекста. Но ткнуть мордой человека в его ошибку для того, что бы в будущем он такую ошибку не совершал, я считаю вполне возможным.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

голубки, давайте я вас помирю
https://en.wikipedia.org/wiki/QT
https://en.wikipedia.org/wiki/Qt
нет ничего ни про куте ни про квик тайм, а что это знает ?
а то и значит что оперировать терминами QT Qt qt qT каждый может как хочет

anonymous
()
Ответ на: комментарий от anonymous

голубки, давайте я вас помирю

С чего вы решили, что ваш диалог с вашим бойфрендом кому-то тут интересен?

andreyu ★★★★★
()
Ответ на: комментарий от KivApple

в теме фигурирует QT и Qt о которых в википедии все четко написано и нет никаких Qt(software) или QuickTime
когда же на лоре научатся читать ?

anonymous
()
Ответ на: комментарий от andreyu

andreyu голубочек, где ты видишь в диалоге анонима ? в диалоге xaizek и andreyu - воркующие голубки
которые выдумывают свои термины и пытаются их навязать на форуме

anonymous
()
Ответ на: комментарий от anonymous

andreyu голубочек, где ты видишь в диалоге анонима ?

Зачем вы своего бойфренда называете моим ником?

в диалоге xaizek и andreyu - воркующие голубки

которые выдумывают свои термины и пытаются их навязать на форуме

Только в вашей влажной фантазии.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.