![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
ht1515 |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 29 Регистрация: 14.4.2012 Пользователь №: 3324 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Какие в Qt средства есть?
И как вы боретесь с утечкой памяти? |
|
|
FireBlack |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 38 Регистрация: 17.10.2010 Из: г.Пенза Пользователь №: 2121 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
Какие в Qt средства есть? И как вы боретесь с утечкой памяти? Под Linux'у есть профайлер Valgrind, используя который можно прямо в QtCreator'е смотреть результаты. |
|
|
ht1515 |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 29 Регистрация: 14.4.2012 Пользователь №: 3324 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ой забыл сказать что под виндой сижу)
Больше ваш опыт важно услышать, инструменты нагуглить можно... просто ваши впечатления от работы с той или иной прогой поиска утечек. |
|
|
Iron Bug |
![]()
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
под вендой - интелловские утилиты для отладки Intel Parallel Studio. они интегрируются в студию. естественно, небесплатные (но кого в нашей стране и под вендой этот вопрос волнует?). это самые лучшие утилиты для поиска утечек, конфликтов, дедлоков, узких мест и для исследования возможностей для оптимизации.
но инструменты - это лишь средство для тех, кто знает, что делает, и как ими пользоваться. а утечка памяти - грубая ошибка программирования. поэтому лучше всего сначала хорошо изучить и понять основы С++, прежде чем кидаться к использованию мощных инструментов отладки. если дать новичку острый топор - он им только ногу себе отрубить может, вместо работы хорошим инструментом ![]() |
|
|
ht1515 |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 29 Регистрация: 14.4.2012 Пользователь №: 3324 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Iron Bug, мне надо это на будущее, софт еще не дописал. когда все допишу и буду уверен, что все гуд работает, буду тестить сторонними ПО.
Спасибо, что рассказали... Я тоже сторонник того, чтобы внимательно и аккуратно код писать, но не всегда нам это дают сделать. А хорошая программа, даже простая может писаться очень долго... Это как дом строить... Iron Bug, только я не совсем понял... У меня ПО написано с использованием Qt. Если я начну работать с этим пакетом ПО, что вы описали у меня не будет проблем с настройками, несовместимостями... Извините за невежество. Просто им реально можно без лишних мучений (установить, запустить) тестировать, анализировать софт написанный на qt? |
|
|
Iron Bug |
![]()
Сообщение
#6
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Qt - это лишь библиотека. интелловские отладчики работают с MSVC(я подозреваю, что если автор вопроса не пишет про компилятор, то это MSVC, это режим чтения мыслей на расстоянии, хотя он иногда не работает
![]() сразу скажу, что поиск утечек и профилирование, особенно в больших программах и там, где много библиотек - задача не для начинающего. и совсем без проблем не обойдётся. это уже не детсадовское программирование. и да, для отладки больших проектов нужно очень много памяти. может оказаться, что для запуска такого инструмента потребуется гораздо больше памяти, чем обычно ест сама программа и студия. |
|
|
ht1515 |
![]()
Сообщение
#7
|
Студент ![]() Группа: Участник Сообщений: 29 Регистрация: 14.4.2012 Пользователь №: 3324 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
MSVC не использую... У меня по умолчанию gcc и mingw всегда...
|
|
|
Iron Bug |
![]()
Сообщение
#8
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
ну, тогда интелловские утилиты не будут работать. они работают с ICC (кстати, он почти совместим в GCC и это самый крутой компилятор, который я когда-либо видела в природе) и поддерживают работу с MSVC. под MinGW особо продвинутых высокоуровневых средств отладки не существует.
в большой программе проще логически найти ошибку, чем пытаться действовать через отладчики. главным образом потому, что действительно большую программу просто не запустить под отладкой - памяти может не хватить. к тому же отладка, профилирование и поиск узких мест и утечек почти всегда изменяют скоростные характеристики софта и баги могут даже исчезнуть. в больших проектах лучше всего использовать юнит-тесты (какие больше нравятся) и отлаживать каждую библиотеку отдельно. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 18:06 |