Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
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, Link), но уверен, что существует еще множество подобных инструментов. Суть их в том, что запускается программа и собирается разнообразная информация во время ее выполнения, среди которой есть как раз и выделение памяти.
Сообщение отредактировал 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) Link В данный момент я пытаюсь собственными силами переопределить new и delete в _DEBUG, чтобы они считали выделения и освобождения памяти, запоминали строки, где она была выделена и возможно не была освобождена и т.д. У меня есть подоное, вот только найти нужно. |
|
|
|
|
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) Link Привет всем. Существуют в Qt средства для ловли memory leaks? Как это делается? Можно использовать OS-специфичные средства. Под linux -- valgrind, под винду -- утилиту umdh (http://support.microsoft.com/kb/268343). |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 23:03 |