![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Чем удобнее дебажить ? gdb или при помощи IDE и какой?
Наверно есть в поиске но Я не нашел |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
удобно - понятие субъективное
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 4 Всего: 12 |
если чисто дебагер, то ddd неплох, хорошая обертка
http://www.gnu.org/software/ddd/ а так большинство IDE поддерживают удобные обертки для отладки, тот же eclipse... хотя тебе уже дали хороший ответ |
|||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
В есlipse как раз не работает, игнорирует break-points и все гуглил но ничего рядом не нашел , с DDD буду разбираться , 2 MAKCim - бумаги не жалко для таких ответов ? Это сообщение отредактировал(а) sergioK1 - 10.5.2011, 17:11 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
В Linux есть ровно один дебагер - gdb. Все остальное - разные обвертки над ним. Так что рекомендуется с самим gdb хотя бы ознакомится, а потом искать удобный GUI (если понадобится после знакомства с gdb
![]() Кстати, даже в самом консольном gdb могут быть зачатки GUI (то же консольного) Смотри TUI в info gdb |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
не совсем так, есть еще linice
![]() -------------------- |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
||||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
не ну я это понимаю, но я за справедливость)
-------------------- |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
ответ аналогичен вопросу -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
||||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
В смысле ? flag -g не выставил, запускал в debug mode, оно как-бы понятно что выставить нужно но если это дебаг мод то что выставлять и куда ? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
sergioK1, так флаг -g и отличает отладочную от неотладочной. Добавь две опции компилятора -O0 -g3, пересобери проект и все у тебя будет отлаживаться.
|
|||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
заработало проблема была в настройках IDE.
методом научного тыка нашел , в perspectives должен стоят promt а был never Это сообщение отредактировал(а) sergioK1 - 13.5.2011, 13:19 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
sergioK1, зря ты собрал отладочную версию с третьей оптимизацией. Тебя ждет очень много неожиданных сюрпризов.
|
|||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
И как знать какой уровень оптимизации нужен , ? методом проб и ошибок ? или есть какая-то система ? |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
для отладочной версии включать оптимизацию?!
![]() |
|||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
для релизной естесно, хотя вопрос не этом , есть какая нидь система пусть не на 100% вот тут при таких ситуациях ставим 2 тут 3 тут не ставим , может best practise есть ? или надо тыкать на авось ![]() что будь внятное можно услышать - общие соображения Я сам знаю ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
sergioK1, в документации это описано.
-O0 - без оптимизации (для отладки) -O1 и -Os - оптимизация по размеру (ну если тебе не так важна скорость, как размер) -O2 - оптимизация по скорости (обычно используется в релизах) -O3 - супер оптимизация по скорости. Может вызывать проблемы, поэтому используется редко. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
||||
|
||||
kamre |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
А какая IDE в линуксе умеет нормально отображать при отладке контейнеры/итераторы из STL? Чтобы как в MSVC можно было и в data tip посмотреть по быстрому и в отдельной панели Watch поисследовать.
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
kamre, Qt Creator
Добавлено через 47 секунд Главное, убедиться, что собраны помощники отладчика (для старых версий актуально). |
|||
|
||||
kamre |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Не работает в QtCreator 2.2: ![]() Это сообщение отредактировал(а) kamre - 17.5.2011, 17:02 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
kamre, у меня проблем нет. Попробуй перед return добавить вывод одного элемента на консоль. Возможно, компилятор что-то соптимизировал.
|
|||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Eclipse все отлично показывает , Сreator тоже , хотя смотреть в дебаге контайнер - мартышкин труд ![]() |
|||
|
||||
kamre |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Ну уж так откровенно то врать не стоит. |
||||
|
|||||
sergioK1 |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Я не очень понимаю о чем там речь У меня 20 минут назад работало, Это сообщение отредактировал(а) sergioK1 - 17.5.2011, 22:54 |
||||||
|
|||||||
kamre |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Ну тогда скриншот что ли покажите для того кода выше, как показываются переменные m и i в отладчике CDT? Это сообщение отредактировал(а) kamre - 17.5.2011, 23:03 |
|||
|
||||
sergioK1 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Код напишете полностью Я уже стер , и машину закрыл, посмотрю, поставте Эклипсе посмотрите - это быстрее будет, и займет минут 20 , P.S . Вот поэтому Я и говорю что С надежней, а в меня гнилые яблоки кидают ![]() |
||||
|
|||||
kamre |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Код полностью:
В MSVC в data tip показывается все очень удобно и компактно:
Как такое посмотреть в CDT? Насколько я знаю - никак, не реализовали еще. P.S. и в QtCreator у меня тоже упорно не хочет ничего показывать.... |
||||||
|
|||||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
||||
|
||||
kamre |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
В QtCreator 2.2:
|
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
kamre, добавь cout и выведи один из элементов мэпа. Возможно, оптимизатор компилятора выкинул лишнее.
|
|||
|
||||
kamre |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Добавил
перед
Ничего не поменялось. Да и сборка же debug делается, специально для отладки. |
||||||
|
|||||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
kamre, какой у тебя gdb? Обычно, "unavailable synchronous data" выдается после освобождения участка памяти, на который ссылается объект.
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Дебагер в VS не обладает 'встроенными' знаниями о том, что надо показывать для stl контейнеров. Эти 'знания' у него лежат в отдельном файле ( C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\autoexp.dat )
Не уверен, что gdb такое умеет (пока) ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
В Qt Creator используются дамперы (ныне на питоне), которые эту проблему и решают.
|
|||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
какая разница на питоне или на гадюке ![]() куда эти самые дамперы вставлять ? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
Никуда. Они должны работать "из коробки". У меня на 3-х машинах (Ubuntu 11.04 x86_64) работают.
|
|||
|
||||
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
в таких случаях говорят Ай гот лост, ![]() Чел спросил про то как дебагить STL . под линукс оно не работает, под мелкософт да, потому что там есть отдельный файл, меня оно тоже заинтересовало, ты сказал что в линуксе есть дамперы на Питоне, ну и ??????? ты думаешь от того бы об этом сказал оно(дебаг стал работать ) ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
То что я это сказал, можно расценить как "неполадки в конкретном случае конкретного человека". И надо разбираться с этим отдельно. И не надо тут троллить. Твое отношение к С++ и STL, как неотъемлемой его части, уже давно известно. |
|||
|
||||
spyswamp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 349 Регистрация: 18.8.2006 Репутация: нет Всего: 7 |
Подниму, пожалуй, данную тему.
У меня установлена ОС Windows 7, QtCreator 2.3.0 (based on Qt 4.7.4 32 bit). Поставилось все это вместе с QtSDK-win. Проблема проявляется в том, что в дебаге не могу смотреть значения переменных-"коллекций". Например, QHash, QVector и других подобных структур. Гуглил, даже в jira разработчиков сказано, что такое должно быть исправлено. Gdb, судя по всему, последней версии (если верить components.xml) - 7.2.0-4. Дома на Ubuntu 10.04.3 LTS + QtCreator 1.3.1 (based on Qt 4.6.2) все показывается идеально. Кто может подсказать, в чем дело? Добавлено через 2 минуты и 22 секунды Хм, только сейчас увидел, что топик в программировании под *nix. Удалите, пожалуйста, эти дописки, я сейчас создам тему в соответствующем разделе. -------------------- - why you call it beta? - cuz it's betta then nothin' |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
Да умеет он это все. Называется "pretty printers" - такие небольшие скриптики на питоне. В интернетах можно найти в т.ч. для qt и wx контейнеров. Как написали выше, для stl-контейнеров они должны идти "искаропки". Их отсутствие наверное лежит на совести мейнтейнеров. Другое дело, что связка gdb + IDE частенько не работает ![]() |
|||
|
||||
spyswamp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 349 Регистрация: 18.8.2006 Репутация: нет Всего: 7 |
Amp, а ты не нашел способа решения проблемы? У меня, судя по всему, как раз такая неработающая связка на винде попалась.
-------------------- - why you call it beta? - cuz it's betta then nothin' |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
spyswamp, там от случая к случаю проблемы разные. У меня, например, в линупсе не работает, а в виндовс все хорошо. Т.к. работа не связана с этим, то я и забил.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |