![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
proc_maker |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
Привет!
Установил хук на __malloc_hook и __free_hook чтобы узнать сколько памяти выделено и сколько высвобождено. Вопрос, если в __malloc_hook есть размер сколько надо выделить, то в хуке на free его нет. Как узнать размер памяти, на который указывает переданный указатель, подлежащий освобождению. Спасибо! |
|||
|
||||
MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
боюсь никак
но есть еще одно извращение ![]() ведем список выделенных областей
в __malloc_hook создаем структуру и заполняем ее (после вызова malloc()) во __free_hook сканируем список в поисках нужного `mm_address' из найденной структуры получаем `mm_size' PS. для получения памяти под структуру mm_area в malloc() делаем следующее
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
proc_maker |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
Огромное спасибо!
4 месяца бился с проблемой. Программа (огромное спасибо ее авторам) valgrind сегодня показала то что я не видел через mtrace и собирался сделать через хуки. Проблема заключалась в том что выделялась память через new а удалялась через free, и кое-де наоборот. Странно, но я всегда был уверен что по сути дела это одно и то же. Но именно это и было проблемой почему не отпускалась cached memory в топике, написанном мною вчера. Еще раз всем СПАСИБО!!! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |