проблема с отладкой |
Здравствуйте, гость ( Вход | Регистрация )
проблема с отладкой |
Гость_Гость_* |
15.12.2008, 15:35
Сообщение
#1
|
Гости |
добрый день
дано Qt 4.4.1,mingw5.1.4,gdb,eclipse вот создаю обычны Qt Gui проект и хочу отдебажить но выскакивает след.ошибка CODE No source available for "main() в чем дело? p.s и что странное что консольное преложение у меня дебагируется без проблем |
|
|
ViGOur |
15.12.2008, 16:00
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Вот что говорят на англоязычном форуме eclipse, как решить эту проблему:
Цитата 1. Unable to debug: You probably haven't built for debug. Use the -g -O0 options to the compiler for debug build
2. Highlight moving randomly: This is probably becuase you have built for debug, but with a high level of optimisation. When optimised, the compiler will move code around to make it optimal, but this pretty much break the association with the source - hence what you are seeing. |
|
|
Гость_Гость_* |
15.12.2008, 17:10
Сообщение
#3
|
Гости |
ViGOur,
если я все правельно понял то мне надо собрат так то project->property->C++ Make Project Build(incremental) в debug я заменил debug -g -O0 но теперь у меня даже не соберается |
|
|
Litkevich Yuriy |
15.12.2008, 17:45
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
-g -O0 это ключи компилятора, т.е. gcc -g -O0 file.cpp я не знаю как Эклипс компилит, если он не испоьзует make-файлы, то видимо, где-то вручную можно эти ключи прописать. Если же используется вся Qt'явая связка qmake->make, то можно попробывать либо в каждый pro-файл записать строчки: QMAKE_CFLAGS_DEBUG += -O0 либо дописать этот ключ (-O0) к этой переменной в файле %QTDIR%\mkspecs\win32-g++\qmake.conf |
|
|
SABROG |
15.12.2008, 18:05
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Если собирать debug сборку, то ключ -g добавляется автоматически. Смысл в нулевой оптимизации может и есть, но у меня и без нее работает.
|
|
|
Гость_Гость_* |
15.12.2008, 18:07
Сообщение
#6
|
Гости |
Цитата где-то вручную можно эти ключи прописать. как прописать этот ключ комполяторая не знаю подскажите а вот попробовал как и вы посоветовали прописал в .pro след. сторку QMAKE_CFLAGS_DEBUG += -O0 но не помогло добавил в qmake.conf тоже не помогло QMAKE_CFLAGS_DEBUG = -g QMAKE_CFLAGS_DEBUG += -O0 опять те же ошибки |
|
|
Litkevich Yuriy |
15.12.2008, 18:09
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Гость_Гость_* |
15.12.2008, 18:11
Сообщение
#8
|
Гости |
SABROG,
Цитата Если собирать debug сборку, то ключ -g добавляется автоматически. Смысл в нулевой оптимизации может и есть, но у меня и без нее работает. да в конфиге у меня ключ (QMAKE_CFLAGS_DEBUG = -g) был |
|
|
SABROG |
15.12.2008, 18:21
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
но у меня и без нее работает. поидее так и должно быть, ведь если оптимизация явно неу казана, то и нет ее.Я имею ввиду, что она есть и я ее не прописывал специально нигде по умолчанию такая (это уже в сгенеренном makefile.release от qmake'a)
А это в файле makefile.debug
Сообщение отредактировал SABROG - 15.12.2008, 18:22 |
|
|
Litkevich Yuriy |
15.12.2008, 18:32
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
SABROG, в отладочном варианте ее как раз нет, ключ g означает включение отладочной информации. А уровень оптимизмции (ключ -O) отсутсвует.
2 Гость_Гость_*, покажи своий make.release |
|
|
Текстовая версия | Сейчас: 29.3.2024, 12:26 |