Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
В Qt Creator встроен Callgrind, который после отладки показывает что-то непонятное: я не вижу своего кода и время его выполнения. Вместо этого какие-то потроха вызываемых библиотек. Возможно беда в том, что для отзывчивости интерфейса я создал второй поток и результаты представляют работу обоих потоков. Как сделать отбор по потоку я так и не нашел. Кто как решал этот вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2017, 09:36 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
Просмотрел все строки кода и выяснил, что представлена трассировка только первого потока. Тогда подскажите, пожалуйста, как определить режим отладки в qt, чтобы в этом случае я не создавал потоки, а просто вызвал отлаживаемую функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2017, 15:28 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
Не создавал дополнительных потоков а из основного потока вызвал отлаживаемую функцию с Callgrind. Получил абсолютно непонятные результаты. Что за ад с отладкой творится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2017, 15:53 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, как бы это не совсем отладчик.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 07:47 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
Просто я все еще использую терминологию из 1с :) Там профайлер объединен с отладчиком и кстати очень удобный: Хорошо виден свой код и время его выполнения. Неужели в срЕдах разработки для С++ нет ничего подобного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 09:54 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
Мои глаза... НЕЕЕЕЕЕТ!!11 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 10:12 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
NekZМои глаза... НЕЕЕЕЕЕТ!!11 Что вас так встревожило, милейший? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 10:26 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQLNekZМои глаза... НЕЕЕЕЕЕТ!!11 Что вас так встревожило, милейший? 1с - ясен хер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 16:06 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQLХорошо виден свой код и время его выполнения. Неужели в срЕдах разработки для С++ нет ничего подобного? Это и называется profiler. Он в С++ как правило отделен от отладчика. Как правило, для профилирования нужно специальным образом собрать программу, и тогда её можно будет запускать под профайлером (но не все профайлеры это требуют). Кроме того, обычно профайлеры для С/С++ фактически требуют отладочные символы (разновидность отладочной информации) для показа имён функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 16:55 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
MasterZivЭто и называется profiler. Он в С++ как правило отделен от отладчика. Как правило, для профилирования нужно специальным образом собрать программу, и тогда её можно будет запускать под профайлером (но не все профайлеры это требуют). Кроме того, обычно профайлеры для С/С++ фактически требуют отладочные символы (разновидность отладочной информации) для показа имён функций. Вы можете посоветовать мне определенную методику профилирования? Какой профайлер в каких ситуациях лучше использовать и какой геморрой от этого получаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 18:08 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQL какой геморрой от этого получаешь? Геморрой получаешь всегда и во всех смыслах, работая в этой области ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 18:15 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQLMasterZivЭто и называется profiler. Он в С++ как правило отделен от отладчика. Как правило, для профилирования нужно специальным образом собрать программу, и тогда её можно будет запускать под профайлером (но не все профайлеры это требуют). Кроме того, обычно профайлеры для С/С++ фактически требуют отладочные символы (разновидность отладочной информации) для показа имён функций. Вы можете посоветовать мне определенную методику профилирования? Какой профайлер в каких ситуациях лучше использовать и какой геморрой от этого получаешь? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Распихай подобный код по всем подозрительным функциям/блокам и абсолютно универсальный профайлер готов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 19:27 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
White Owl, Спасибо, но не думаю, что подобный подход сгодится в крупных проектах. У меня сейчас на руках примерно 150 страниц процедурного кода, который я переделываю в ОО код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 20:05 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQLWhite Owl, Спасибо, но не думаю, что подобный подход сгодится в крупных проектах.В крупных проектах только такой подход и годится. По настоящему крупные проекты ни один профайлер не выдерживает. И с мнопоточностью у профайлеров (и у дебагеров) проблемы. Зато печать отладочной информации в файлы работает всегда. AlekseySQLУ меня сейчас на руках примерно 150 страниц процедурного кода, который я переделываю в ОО код.Глупости какие. Работает - не трожь. А 150 страниц это такие мелочи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2017, 22:53 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQL Вы можете посоветовать мне определенную методику профилирования? Какой профайлер в каких ситуациях лучше использовать и какой геморрой от этого получаешь? Нет, не могу, нет одного универсального метода. На Linux могу посоветовать callgrind (медленно но точно) и OProfile (быстро и не требует инструментализации, но достаточно сложно ставить, и надо работать под root). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2017, 00:31 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
MasterZivНет, не могу, нет одного универсального метода. На Linux могу посоветовать callgrind (медленно но точно) и OProfile (быстро и не требует инструментализации, но достаточно сложно ставить, и надо работать под root). Так скриншоты от этого самого callgrind я и привел в теме: какие-то непонятные цифры напротив непонятных строк кода. Он может показать замеры МОЕГО кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2017, 01:35 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, у тебя скорее всего нет debug info. Если у тетя GCC, проверь, чтобы стояло два флага : -- у компилятора стоял -g -- у линкера НЕ стоял -s но это будет влиять только на ПОКАЗ функций, по самому профилированию у тебя будет все так же, а тут видно, что все у тебя тормозит не в твоем коде, а в коде MySQL client и просто висит на вводе (мышка). Тебе для нормального профилированию нужно запустить какой-то режим работы программы, когда бы она именно считала, а не читала данные из бд или теребил бы мышью. Если у тебя такого режима работы нет, для профилирования придется его специально изготовить. Чтобы ты запускал программу в особом режиме и она именно считала бы по каким-то заранее подгруженным данным. Можно грузить конечно и в этом погоне, но тогда нужно чтобы время просчета было бы существенно меньше времени загрузки. Можно для этого просчитать одно и то же несколько раз, скажем 10, загрузив один. Но учти, что valgrind - интерпретатор машинного кода, он считает все достаточно медленно. Поэтому твой просчет будет примерно раз в 10-100 медленное, чем в реальной жизни. Конкретно по поддержке его в QTCreator я не знаю, если что, поставить можно KCacheGrind или просто смотреть руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2017, 07:31 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
MasterZiv, У меня в коде ТОЛЬКО перемалывание цифр. Никаких баз данных и опросов мышек нет и в помине. Так как я ее сделал программу однопоточной, то системный монитор показывает, что одно ядро всегда занято на 100%. Насчет специфических ключей: в Qt есть три режима сборки "Выпуск", "Отладка" и "Профилирование". Разумеется для профайлинга я запускаюсь в режиме профилирование (Qt предупредит, что режим неоптимальный, если запуститься НЕ в режиме "Выпуск" или "Профилирование"). Думаю ребята из Qt должны были поставить все ключи сами раз у них специально разделено на три режима, чтобы защититься "от дурака". Если указать ключ -g, то профилирование выдает ошибку: Unknown option -g ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2017, 16:39 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
Интересная лекция по теме: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2017, 10:06 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQLЕсли указать ключ -g, то профилирование выдает ошибку: Unknown option -g Да ёшки-матрёшки, КОМПИЛЯТОРУ это надо указывать, CXX_COMPILE_FLAGS += -g (что-то типа того) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2017, 15:07 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
MasterZiv Да ёшки-матрёшки, КОМПИЛЯТОРУ это надо указывать, CXX_COMPILE_FLAGS += -g (что-то типа того) Тут: http://www.cyberforum.ru/post653738.html написано, что для добавление опций компилятора надо сделать: Код: plaintext Что я собственно и сделал. Куда вставлять вашу строку? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2017, 19:42 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
В pro- файл мистическую фразу прописывать пробовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2017, 21:06 |
|
||
|
Посоветуйте удобный отладчик для Qt Creator
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, http://doc.qt.io/qt-5/qmake-variable-reference.html угадай какая переменная в .pro определяет флаги для С++ компилятора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2017, 18:36 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39446197&tid=2018183]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 543ms |

| 0 / 0 |
