crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Отлов memory leaks
Sam
  опции профиля:
сообщение 28.11.2007, 14:42
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 28.11.2007
Пользователь №: 28

Спасибо сказали: 0 раз(а)




Репутация:   0  


Привет всем.
Существуют в Qt средства для ловли memory leaks?
Как это делается?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sam
  опции профиля:
сообщение 29.11.2007, 17:48
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 28.11.2007
Пользователь №: 28

Спасибо сказали: 0 раз(а)




Репутация:   0  


Что никто не знает чтоли? Или в Qt этого нету?

В поиск не посылать искал уже там, нет ничего подобного! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Swappp
  опции профиля:
сообщение 29.11.2007, 18:15
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 20
Регистрация: 26.11.2007
Пользователь №: 25

Спасибо сказали: 1 раз(а)




Репутация:   1  


А при чем тут Qt? Он выделением памяти не занимается (почти). Для этого есть профайлеры. Например valgrind.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sam
  опции профиля:
сообщение 29.11.2007, 19:58
Сообщение #4


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 28.11.2007
Пользователь №: 28

Спасибо сказали: 0 раз(а)




Репутация:   0  


Мне не понятно, как на этапе отладки приложения можно выяснить, забыл я где освободить память или нет.

В данный момент я пытаюсь собственными силами переопределить new и delete в _DEBUG, чтобы они считали выделения и освобождения памяти, запоминали строки, где она была выделена и возможно не была освобождена и т.д.

Думал, что что-то подобное реализовано в Qt. :)

Сообщение отредактировал Sam - 29.11.2007, 19:58
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Swappp
  опции профиля:
сообщение 29.11.2007, 20:06
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 20
Регистрация: 26.11.2007
Пользователь №: 25

Спасибо сказали: 1 раз(а)




Репутация:   1  


Ну я же говорю, юзай профайлер. Под ним запускается программа и считается число выделений и освобождении и при необходимости выводится информация что не освобождено и т.п.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sam
  опции профиля:
сообщение 29.11.2007, 20:36
Сообщение #6


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 28.11.2007
Пользователь №: 28

Спасибо сказали: 0 раз(а)




Репутация:   0  


А что это такое? И с чем его едят? ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Swappp
  опции профиля:
сообщение 29.11.2007, 21:01
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 20
Регистрация: 26.11.2007
Пользователь №: 25

Спасибо сказали: 1 раз(а)




Репутация:   1  


Я могу сказать только про Valgrind (только под linux, http://valgrind.org/), но уверен, что существует еще множество подобных инструментов. Суть их в том, что запускается программа и собирается разнообразная информация во время ее выполнения, среди которой есть как раз и выделение памяти.

Сообщение отредактировал Swappp - 29.11.2007, 21:02
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 29.11.2007, 21:29
Сообщение #8


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(Sam @ 29.11.2007, 19:58) *
В данный момент я пытаюсь собственными силами переопределить new и delete в _DEBUG, чтобы они считали выделения и освобождения памяти, запоминали строки, где она была выделена и возможно не была освобождена и т.д.
У меня есть подоное, вот только найти нужно.

if( найду)
   выложу_сюда();

:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sam
  опции профиля:
сообщение 30.11.2007, 10:43
Сообщение #9


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 28.11.2007
Пользователь №: 28

Спасибо сказали: 0 раз(а)




Репутация:   0  


Интересно будет посмотреть. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_omobono_*
сообщение 1.12.2007, 20:59
Сообщение #10





Гости








    


Цитата(Sam @ 28.11.2007, 14:42) *
Привет всем.
Существуют в Qt средства для ловли memory leaks?
Как это делается?


Можно использовать OS-специфичные средства. Под linux -- valgrind, под винду -- утилиту umdh (http://support.microsoft.com/kb/268343).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.6.2024, 14:21