Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: kuzulis от Март 29, 2010, 18:22



Название: Отладка в GDB с помощью QtCreator. Прошу совета.
Отправлено: kuzulis от Март 29, 2010, 18:22
Доброго времени.

Непонятно как отлаживать приложение с помощью GDB в QtCreator.

ОС: Windows
QtSDK: qt-sdk-win-opensource-2010.02.1.exe

Ничего не работает: ни точки останова, ни подсветка значений переменных.. ничего. :(
Приложение вываливается в сегфолт, а я не могу даже понять из-за чего.

Только в виджете "стек" следующее выскакивает:
Цитировать
Уровень   Функция   Файл   Строка   Адрес
->0               ??                         0          0x00000001
    1               ??                         0          0x00000000





Подскажите, как вообще "починить" это дело?

ЗЫ: в первый раз пытаюсь


Название: Re: Отладка в GDB с помощью QtCreator. Прошу совета.
Отправлено: niXman от Март 29, 2010, 18:31
Цитировать
Ничего не работает: ни точки останова
а точка останова устанавливается?
отлаживать пытаешься свой код, не длл-ку/либу какую-нить?


Название: Re: Отладка в GDB с помощью QtCreator. Прошу совета.
Отправлено: kuzulis от Март 29, 2010, 19:59
Цитировать
а точка останова устанавливается?
Да, устанавливается (такой красный кружок с песочными часиками - в исходном коде, и появляется на вкладке "точки останова"),
но на ней ничего не останавливается.
Цитировать
отлаживать пытаешься свой код, не длл-ку/либу какую-нить?
Отлаживаю свой код, чисто набор *.h и *.cpp файлов.


Название: Re: Отладка в GDB с помощью QtCreator. Прошу совета.
Отправлено: niXman от Март 29, 2010, 20:03
убедись что сборка дебажная.


Название: Re: Отладка в GDB с помощью QtCreator. Прошу совета.
Отправлено: kuzulis от Март 29, 2010, 21:02
Цитировать
убедись что сборка дебажная.
и в  *.pro у меня:
Цитировать
CONFIG          += debug

и в настройках креатора "сборка"->"конфигурация сборки"->"Debug"

еще при сегфолте в стеке показывает это:
Цитировать

Уровень      Функция                                        Файл                                                Cтрока     Адрес
->0              ??                                                                                                           0              0x00000001
  1                ntdll!RtlAppendStringToString    C:\WINNT\system32\ntdll.dll       0              0x7c9101e0
  2                ??                                                                                                           0              0xffffffff
  3                ntdll!RtlAppendStringToString    C:\WINNT\system32\ntdll.dll       0              0x7c9101db
  4                msvcrt!free                                   C:\WINNT\system32\msvcrt.dll   0              0x77c1c3c9
  5                ??                                                                                                            0              0x00000000


чтобы это значило?


Название: Re: Отладка в GDB с помощью QtCreator. Прошу совета.
Отправлено: niXman от Март 29, 2010, 21:08
попробуй создать чистый проект, буквально с несколькими строками.


Название: Re: Отладка в GDB с помощью QtCreator. Прошу совета.
Отправлено: Amigo_sa от Март 29, 2010, 21:13
Еще надо убедиться что дебагер собран. В настройках версии Qt есть кнопка - пересбрать дебагер. У меня изза этого падала прога при отладке.


Название: Re: Отладка в GDB с помощью QtCreator. Прошу совета.
Отправлено: kuzulis от Март 29, 2010, 21:30
Цитировать
попробуй создать чистый проект, буквально с несколькими строками.

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

Прикрепляю проект.

Цитировать
Еще надо убедиться что дебагер собран. В настройках версии Qt есть кнопка - пересбрать дебагер. У меня изза этого падала прога при отладке.
где конкретно эта волшебная кнопка? :)
если имеется ввиду "помошник отладчика" - то у меня там горит зеленая галочка и дебаггер не матюгается на отсутствие помошника...
....
и даже если я запускаю креатор от Администратора и пересобираю отладчик - то все-равно не работают точки останова в тестовом примере !

--------------

Ой, заработало и из под Администратора и из под обычного пользователя..  :)
Только почему-то точки останова не хотят работать в слотах... Это так и надо?

----

ЗЫЗЫ: но почему-то приложение сложнее чем на пару строчек не отлаживается!  >:(

-

ВСЁ! Проблема решена! все заработало! Мой касяк в том, что не собиралась дебаг-сборка !  ::) СПАСИБО!