![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Sam |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 28.11.2007 Пользователь №: 28 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Привет всем.
Существуют в Qt средства для ловли memory leaks? Как это делается? |
|
|
Sam |
![]()
Сообщение
#2
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 28.11.2007 Пользователь №: 28 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Что никто не знает чтоли? Или в Qt этого нету?
В поиск не посылать искал уже там, нет ничего подобного! ![]() |
|
|
Swappp |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 20 Регистрация: 26.11.2007 Пользователь №: 25 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
А при чем тут Qt? Он выделением памяти не занимается (почти). Для этого есть профайлеры. Например valgrind.
|
|
|
Sam |
![]()
Сообщение
#4
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 28.11.2007 Пользователь №: 28 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Мне не понятно, как на этапе отладки приложения можно выяснить, забыл я где освободить память или нет.
В данный момент я пытаюсь собственными силами переопределить new и delete в _DEBUG, чтобы они считали выделения и освобождения памяти, запоминали строки, где она была выделена и возможно не была освобождена и т.д. Думал, что что-то подобное реализовано в Qt. ![]() Сообщение отредактировал Sam - 29.11.2007, 19:58 |
|
|
Swappp |
![]()
Сообщение
#5
|
Студент ![]() Группа: Новичок Сообщений: 20 Регистрация: 26.11.2007 Пользователь №: 25 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Ну я же говорю, юзай профайлер. Под ним запускается программа и считается число выделений и освобождении и при необходимости выводится информация что не освобождено и т.п.
|
|
|
Sam |
![]()
Сообщение
#6
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 28.11.2007 Пользователь №: 28 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
А что это такое? И с чем его едят?
![]() |
|
|
Swappp |
![]()
Сообщение
#7
|
Студент ![]() Группа: Новичок Сообщений: 20 Регистрация: 26.11.2007 Пользователь №: 25 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Я могу сказать только про Valgrind (только под linux, http://valgrind.org/), но уверен, что существует еще множество подобных инструментов. Суть их в том, что запускается программа и собирается разнообразная информация во время ее выполнения, среди которой есть как раз и выделение памяти.
Сообщение отредактировал Swappp - 29.11.2007, 21:02 |
|
|
ViGOur |
![]()
Сообщение
#8
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
В данный момент я пытаюсь собственными силами переопределить new и delete в _DEBUG, чтобы они считали выделения и освобождения памяти, запоминали строки, где она была выделена и возможно не была освобождена и т.д. У меня есть подоное, вот только найти нужно.
![]() |
|
|
Sam |
![]()
Сообщение
#9
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 28.11.2007 Пользователь №: 28 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Интересно будет посмотреть.
![]() |
|
|
Гость_omobono_* |
![]()
Сообщение
#10
|
Гости ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 22.5.2025, 15:05 |