Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: poljak181 от Май 07, 2009, 01:12



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


Название: Re: Динамическая память и qt
Отправлено: crackedmind от Май 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 перегрузить, только не знаю насколько это будет здорово :)


Название: Re: Динамическая память и qt
Отправлено: Tonal от Май 07, 2009, 10:05
А зачем это нужно?
Чего именно ты пытаешься добиться отслеживая память?


Название: Re: Динамическая память и qt
Отправлено: alex12 от Май 07, 2009, 16:53
Если нужно просто посмотреть сколько жрется памяти и нет ли утечки, то я просто использую Process Explorer.


Название: Re: Динамическая память и qt
Отправлено: Dodge от Май 07, 2009, 22:37
мемлики valdrind покажет, для профилирования есть gprof.


Название: Re: Динамическая память и qt
Отправлено: poljak181 от Май 08, 2009, 01:42
Да, собственно, отслеживая память, я хотел проверить программу на предмет утечек...
Благодарю за наводки. Нашёл доки к прогам, буду изучать! Если доки окажутся толковыми, линки сюды выложу, может кому ещё пригодится :)


Название: Re: Динамическая память и qt
Отправлено: pastor от Май 08, 2009, 11:42
poljak181, сделай поиск по сайту на предмет "Valgrind". Было несколько тем по проблеме утечки памяти