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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Динамическая память и qt  (Прочитано 5480 раз)
poljak181
Гость
« : Май 07, 2009, 01:12 »

Доброго времени суток!
Хотел бы сказать спасибо всем волонтёрам, обитающим на сайте! Очень много ответов на свои вопросы я нашёл именно здесь!
Однако есть одна проблема, которую я пока не могу решить ни с помощью prog.org, ни с помощью гугла.
Есть некая программа, написанная на C++ в купе с Qt, в которой постоянно динамически создаются и удаляются новые объекты (виджеты и не только). Хотелось бы в режиме реального времени отслеживать число выделенных из кучи для нужд программы байт. Есть вроде бы различные утилиты для всего этого, но говорят, что они всё равно не дадут точных оценок.
Как я понял, в Qt нет классов для подобных нужд, однако в C такие функции должны быть. Куда копать? Может у кого-то есть готовые решения или ссылки?
Буду рад любому совету.
P.S.ОС Windows XP, Qt 4.5.0, компилятор MinGW
(Если есть решения для Linux буду так же признателен)
Записан
crackedmind
Гость
« Ответ #1 : Май 07, 2009, 08:31 »

Ну хм, в qt есть файлик qmalloc.cpp в нем есть 3 функции
Код
C++ (Qt)
/*
   Define the container allocation functions in a separate file, so that our
   users can easily override them.
*/

 
void *qMalloc(size_t size)
{
   return ::malloc(size);
}
 
void qFree(void *ptr)
{
   ::free(ptr);
}
 
void *qRealloc(void *ptr, size_t size)
{
   return ::realloc(ptr, size);
}
 
Но вообщем это даст контроль только над контейнерами. Можно конечно попробовать new/delete перегрузить, только не знаю насколько это будет здорово Улыбающийся
Записан
Tonal
Гость
« Ответ #2 : Май 07, 2009, 10:05 »

А зачем это нужно?
Чего именно ты пытаешься добиться отслеживая память?
Записан
alex12
Гость
« Ответ #3 : Май 07, 2009, 16:53 »

Если нужно просто посмотреть сколько жрется памяти и нет ли утечки, то я просто использую Process Explorer.
Записан
Dodge
Гость
« Ответ #4 : Май 07, 2009, 22:37 »

мемлики valdrind покажет, для профилирования есть gprof.
Записан
poljak181
Гость
« Ответ #5 : Май 08, 2009, 01:42 »

Да, собственно, отслеживая память, я хотел проверить программу на предмет утечек...
Благодарю за наводки. Нашёл доки к прогам, буду изучать! Если доки окажутся толковыми, линки сюды выложу, может кому ещё пригодится Улыбающийся
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #6 : Май 08, 2009, 11:42 »

poljak181, сделай поиск по сайту на предмет "Valgrind". Было несколько тем по проблеме утечки памяти
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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