Russian Qt Forum
Ноябрь 24, 2024, 12:06
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Просмотр в режиме отладки QString [решено]
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Просмотр в режиме отладки QString [решено] (Прочитано 15595 раз)
BELNETMON
Гость
Просмотр в режиме отладки QString [решено]
«
:
Декабрь 24, 2009, 09:28 »
Очень страшно, но эксперимент повторял 5 раз. Суть: при срабатывании точки останова инициализированная и не пустая переменная QString в 99% случаев показывается пустой. И в наблюдении за переменными, и в подсказках отладчика.
Исходные данные: OS WinXP, Win7
Qt Creator 1.3.0, Qt 4.6.0 (было и на более ранних версиях)
Отладчики и Gdb и Cdb
Не знаю как дальше жить. Спасает только вывод в консоль по месту брекпоинта, но это ж портит всю радость.
Далее на примере типовой случай. Переменная создана и ей присвоено значение. Содержимое в отладчике- пусто. Аналогично в хинте дебагера.
«
Последнее редактирование: Декабрь 26, 2009, 02:06 от BELNETMON
»
Записан
ilot
Гость
Re: Просмотр в режиме отладки QString
«
Ответ #1 :
Декабрь 24, 2009, 12:13 »
Для правильной работы отладчика программа должны собираться со специальными отладочными флагами - иначе нужная
информация не будет включаться в исполняемый файл. 99%, что дело именно в этом
Цитировать
Очень страшно, но эксперимент повторял 5 раз
А как на счет локальных переменных других типов?
Попробуй создать рядом локальные переменные типов int, double (и т.п.), и проверь, будет ли отладчик отображать их
иниц. значения. Если нет - значить не были включены нужные флаги.
P.S. У меня в VS2008 приведенный код нормально отлаживается..
Записан
BELNETMON
Гость
Re: Просмотр в режиме отладки QString
«
Ответ #2 :
Декабрь 24, 2009, 12:36 »
Переменные других типов замечательно видны
После написания этого сообщения порылся в интернете - проблема таки есть.
Записан
xokc
Птица говорун
Offline
Сообщений: 976
Re: Просмотр в режиме отладки QString
«
Ответ #3 :
Декабрь 24, 2009, 20:44 »
А debuger helper собран?
Записан
BELNETMON
Гость
Re: Просмотр в режиме отладки QString
«
Ответ #4 :
Декабрь 24, 2009, 21:13 »
Буду благодарен, если поясните, что в контексте моего инструментария нужно сделать?
Чего-то кроме установки QtCreator не делалось
Записан
xokc
Птица говорун
Offline
Сообщений: 976
Re: Просмотр в режиме отладки QString
«
Ответ #5 :
Декабрь 25, 2009, 21:34 »
В настройках QtCreator есть пункт Отладка и там что-то в духе "помощник отладчика (debugger helper)" - дома у меня Creator не установлен, поэтому точно не скажу. Там же есть кнопочка "Собрать".
Записан
BELNETMON
Гость
Re: Просмотр в режиме отладки QString
«
Ответ #6 :
Декабрь 25, 2009, 23:32 »
Нет, нет там уже такого давно
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Просмотр в режиме отладки QString
«
Ответ #7 :
Декабрь 26, 2009, 00:37 »
Цитата: BELNETMON от Декабрь 24, 2009, 09:28
Далее на примере типовой случай. Переменная создана и ей присвоено значение. Содержимое в отладчике- пусто. Аналогично в хинте дебагера.
В данном случае "переменная" - экземпляр довольно сложного класса. "Присвоено значение" звучит неуместно - был вызван оператор присваивания который может делать все что угодно, в данном случае он конвертирует "AAA" в Unicode. С какой стати Вы рассчитываете увидеть в отладчике "AAA" если его в данной QString нет физически?
Ваша критика справедлива в том смысле что нормальный отладчик для структуры/объекта должен показать все ее члены (и private тоже), как, напр, делает Gdb. Но даже там просмотреть содержимое непросто
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Просмотр в режиме отладки QString
«
Ответ #8 :
Декабрь 26, 2009, 01:08 »
Цитата: BELNETMON от Декабрь 25, 2009, 23:32
Нет, нет там уже такого давно
Все там есть! Tools-->Options-->Debugging Helper-->Use debugging helper --- поставить галочку - которая снимается кстати как раз для того чтобы например иметь возможность смотреть QString -- его приватные члены C++ класса а не только содержимое кутешной строки, но чтобы это работало надо в
Tools->Options-->Qt4-->QtVersion напротив соответственно активной версии Qt нажать Rebuild (для создания плагина Debugging Helper если он не создан)
Записан
BELNETMON
Гость
Re: Просмотр в режиме отладки QString
«
Ответ #9 :
Декабрь 26, 2009, 02:05 »
Спасибо, добрый человек!
Помогло.
Записан
jekazz
Гость
Re: Просмотр в режиме отладки QString [решено]
«
Ответ #10 :
Декабрь 28, 2009, 21:40 »
А мне не помогло! Всё собралось. В настройках стоит галочка "Использовать помощник отладчика". В Настройках версий появилась галочка в колонке "Помощник отладчика". В папке %QTDIR% появилась папка qtc-debugging-helper а в ней в подпапках debug и release появился gdbmacros.dll. Но всё равно не отображает значения QString и т.д. И в режиме отладки QTCreator с кнопками управление отладкой пишет "Помощники отладчика не найдены". При запущенной отладке ни один процесс не использует файл gdbmacros.dll.
Windows XP, Qt 4.6.0, MinGW, Gdb 7.0. Ставилось отдельно, не из QT SDK. Всё работает, кроме помощника
.
Что делать?
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Просмотр в режиме отладки QString [решено]
«
Ответ #11 :
Декабрь 28, 2009, 22:45 »
попробуй указать откуда юзать debugger helper - там есть сосответствующий пункт --> "Use debugger helper from custom location"
А креатор то последний? и Qt? - в одной из версий была проблема с этим.
Записан
jekazz
Гость
Re: Просмотр в режиме отладки QString [решено]
«
Ответ #12 :
Декабрь 29, 2009, 10:16 »
Qt Creator 1.3.0, Qt 4.6.0 - то есть всё последнее, самое новое. Да я вот и думаю указать путь к помощнику. Но вот какой файл указывать? Пробовал выбрать gdbmacros.dll - не помогло
Записан
reg_edit
Гость
Re: Просмотр в режиме отладки QString [решено]
«
Ответ #13 :
Декабрь 30, 2009, 19:13 »
Кстате у меня тоже были проблемы с Debugger Helper ом..
Если Qt Creator запускать с правами админа то всё окей показывается, а если под простым пользователем (я под ним сижу) то не показывается...
у кого проблемы попробуйте запустить под админом .
Записан
jekazz
Гость
Re: Просмотр в режиме отладки QString [решено]
«
Ответ #14 :
Декабрь 30, 2009, 20:42 »
Запускаю от пользователя с правами админа
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...