Russian Qt Forum
Мая 06, 2025, 19:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: performance analysis and memory leak tools  (Прочитано 33075 раз)
ElderOrb
Гость
« : Декабря 08, 2005, 12:09 »

сабж
Записан
nEoN
Гость
« Ответ #1 : Декабря 08, 2005, 13:16 »

BoundsChecker 7 for MSVC++.
По его мнению в недрах Qt4 попадаются утечеки и памяти и ресурсов  :?
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #2 : Декабря 08, 2005, 13:25 »

Valgrid и BoundChecker только 6 версии
7 медленноват!
Записан
ElderOrb
Гость
« Ответ #3 : Декабря 08, 2005, 14:55 »

2nEoN:
Цитировать
По его мнению в недрах Qt4 попадаются утечеки и памяти и ресурсов


В том-то и дело.. Я пробовал AQTime, DevPartner и что-то ещё... И всё они плохо работали c Qt (тогда ещё 3-им).

2Admin:
А есть ли Valgrind под винды?
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #4 : Декабря 08, 2005, 16:17 »

NO only linux kernel!
Записан
SLiDER
Гость
« Ответ #5 : Декабря 08, 2005, 22:54 »

Под Linux : Valgrind.
Под Windows : в основном Devpartner, но последнее время все реже им  и чаще просто дебагерной версией crt-библиотеки и ручками, за последние несколько лет так насобачился, что никаких детекторов утечек не нужно.

В качестве профайлера для обоих систем, можно порекомендовать Intel VTune.

Что бы Devpartner не ругался на Qt, нужно просто отключить отладку ее dll в настройках етой софины. Там же (в настройках) ее можно и ускорить, за счет упрощенных алгоритмов анализа, но это скажется на качестве отлова утечек.

А вообщето лучший дебагер/профайлер и т.п. это голова. Все читаем лучшую книгу на эту тему : Мэтт Тэллес, Юань Хсих. Наука отладки, или еще : Анн Р. Форд, Тоби Дж. Теори. Практика отладки в C++
Записан
ElderOrb
Гость
« Ответ #6 : Декабря 09, 2005, 10:40 »

Ок, спасибо за инфу. А может эти книжки у кого в электронном виде есть? ж)
Записан
Вудруф
Гость
« Ответ #7 : Декабря 09, 2005, 13:06 »

А что из вышеперечисленного работает с MinGW?
Записан
Dendy
Гость
« Ответ #8 : Декабря 09, 2005, 18:59 »

Visual Studio 2005: _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

А вообще архитектура Qt сделана так, что заработать утечку єто ещё нужно потрудиться Веселый  Практически все new в делаются в конструкторах и пришибаются самой Qt. Единственная сложность на Qt4 - контейнерьl теперь не удаляют данньl не по указателям, что в них хранятся, но єто скорее плюс.
Записан
ElderOrb
Гость
« Ответ #9 : Января 05, 2006, 15:13 »

Цитата: "Dendy"
Visual Studio 2005: _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );


Насчёт этого вопрос: Допустим я имею вот такую инфу
Код:
Detected memory leaks!
Dumping objects ->
{161} normal block at 0x00F97330, 1 bytes long.
 Data: < > CD
Object dump complete.


А как бы это теперь узнать ещё и строчку, которая порождает утечку?...
Записан
Dendy
Гость
« Ответ #10 : Января 05, 2006, 16:31 »

А вот ето загадка, которую я не решил. Кто вьІделяет память я узнавал ставя брикпоинт на номер вьІделения памяти (161) в одном из заголовочников. Сейчас даже не вспомню в каком...
Записан
ElderOrb
Гость
« Ответ #11 : Января 05, 2006, 16:49 »

Вот здесь http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/vxconenablingmemoryleakdetection.asp написано, что если сделать #define _CRTDBG_MAP_ALLOC, то будет показываться ещё и файл и строчка с утечкой:

Цитировать

With _CRTDBG_MAP_ALLOC defined, the display also shows you the file where the leaked memory was allocated. The number in parentheses following the filename (20, in this example) is the line number within the file.


Однако как я ни бился, желаемого эффекта достичь не удалось...
Записан
Dendy
Гость
« Ответ #12 : Января 05, 2006, 19:35 »

Цитата: "ElderOrb"
Однако как я ни бился, желаемого эффекта достичь не удалось...


Аннналагична.

А рьІться в тех исходниках как-то желания особого нету.
Записан
yshurik
Гость
« Ответ #13 : Января 06, 2006, 15:40 »

Valgrind. Правда он показывает некоторые вещи которые висят постоянно с Qt, но их довольно легко отмежевать от твоих собственных leaks.
Записан
pacmanoid
Гость
« Ответ #14 : Июня 12, 2006, 06:00 »

Необходимо отловить утечки памяти и спрофилировать QT приложение. Так как данное приложение будет работать очень длительное время без перезапуска. Подскажите пожалуста какие средства есть для отлова утечек памяти и какие можно использовать профайлеры? Кто что использует для LINUX и для Windows. И если можно то как?
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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