Russian Qt Forum
Май 06, 2024, 22:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt Creator заходит во все процедуры при отладке  (Прочитано 8418 раз)
QtProger
Гость
« : Январь 01, 2010, 13:46 »

Здравствуйте.  Улыбающийся При отладке с Qt Creator`ом возникает одно неудобство. Нажимаю клавишу F10, и бывает такое, что Creator начинает отлаживать процедуры Qt, вместо моих. Как это исправить ?
Записан
Dendy
Гость
« Ответ #1 : Январь 01, 2010, 17:17 »

Может быть F11? Я обычно сразу же выхожу из такого метода по Ctrl+F11.
Записан
QtProger
Гость
« Ответ #2 : Январь 01, 2010, 18:56 »

Может быть F11? Я обычно сразу же выхожу из такого метода по Ctrl+F11.

И с F10, и с F11 отладчик заходит в какие-то процедуры Qt. Чтобы выйти из них, надо много раз нажимать Shift+F11. Чертовски неудобно.
Записан
Dendy
Гость
« Ответ #3 : Январь 01, 2010, 19:55 »

Странно, по F10 заходить не должен, должен перепрыгивать. В какой именно метод Qt он заходит? Покажите пример.
Записан
QtProger
Гость
« Ответ #4 : Январь 02, 2010, 00:17 »

Странно, по F10 заходить не должен, должен перепрыгивать. В какой именно метод Qt он заходит? Покажите пример.

Например вот этот слот, вызываемый при нажатии кнопки на форме. Отладчик заходит в какие-то процедуры после закрывающей фигурной скобки.

Код
C++ (Qt)
void Widget::click_button()
{
       st=POP3_CONNECTED;
       socket->connectToHost("pop.mail.ru", 110);
} //после этой скобки

Весь исходник программы во вложении. Можете посмотреть его, он небольшой. Приведенный выше код находится в файле widget.cpp на 20-ой строке
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #5 : Январь 02, 2010, 01:44 »

какую систему используете - в Linux одна из не столь давних версий ядра - сильно конфликтовала с GDB
Записан
QtProger
Гость
« Ответ #6 : Январь 02, 2010, 10:17 »

какую систему используете - в Linux одна из не столь давних версий ядра - сильно конфликтовала с GDB

Виндовз ХР
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #7 : Январь 02, 2010, 18:01 »

шоткаты назначены так?

F10 - Step Over
F11 - Step Into
F12 - Step Out
Записан
Dendy
Гость
« Ответ #8 : Январь 02, 2010, 18:06 »

Заходит в Qt при перепрыгивании через socket->connectToHost() или уже после этого, при перепрыгивании через закрывающую скобку? Если последнее - то так и должно быть. Перепрыгивание через возврат из функции равносилен выходу их неё.
Записан
QtProger
Гость
« Ответ #9 : Январь 02, 2010, 18:26 »

шоткаты назначены так?
F10 - Step Over
F11 - Step Into
F12 - Step Out

F10 - Step Over
F11 - Step Into
Shift+F11 - Step Out

Заходит в Qt при перепрыгивании через socket->connectToHost() или уже после этого, при перепрыгивании через закрывающую скобку?

При перепрыгивании через закрывающую скобку. Можно нажимать F10 или F11, без разницы, все равно отладчик заходит в какие-то процедуры Qt.

Если последнее - то так и должно быть. Перепрыгивание через возврат из функции равносилен выходу их неё.

Почему ? Ведь это очень неудобно. Вместо того, чтобы отлаживать свой код, мне приходится отлаживать десятки строк исходного кода Qt.
Записан
Dendy
Гость
« Ответ #10 : Январь 03, 2010, 00:36 »

Используйте Run To Line. Или соберите Qt без отладочных символов.
Записан
QtProger
Гость
« Ответ #11 : Январь 03, 2010, 11:24 »

Используйте Run To Line.

"Выполнить до строки" не работает правильно. "Перейти на строку" все блокирует.

Или соберите Qt без отладочных символов.

Как ?
Записан
Dendy
Гость
« Ответ #12 : Январь 03, 2010, 11:31 »

Уберите опцию -g перед сборкой Qt в mkspecs/win32-g++/qmake.conf для переменной QMAKE_CFLAGS_DEBUG, а после сборки верните обратно.
Записан
b-s-a
Гость
« Ответ #13 : Февраль 08, 2010, 18:48 »

Проще символы отладки удалить с помощью strip (входит в MinGW): strip --strip-unneeded <file>.dll
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.075 секунд. Запросов: 22.