![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: -2 Всего: 52 |
Интересуют стандартные средства для поиска утечек, чтобы указывали хоть строку, по исполнению которой была получена ошибка сегментации. Возможности установить новый софт - нет, аксиома.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: -2 Всего: 52 |
У меня man на них ничего не выдаёт. Не объяснишь вкратце, как их юзать? Это сообщение отредактировал(а) Rickert - 15.3.2007, 09:05 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
mtrace() ставит хуки на вызовы malloc(), realloc(), free()
muntrace() отключает хуки переменная среды MALLOC_TRACE должна содержать путь к доступному для записи файлу, куда mtrace() будет сливать всю статистику по вызовам кроме того, как GNU extensions доступны в libc (<malloc.h>) __malloc_hook(), __realloc_hook(), __memalign_hook(), __free_hook(), __malloc_initialize_hook(), __after_morecore_hook() да, еще <mcheck.h> тоже GNU extension Это сообщение отредактировал(а) MAKCim - 15.3.2007, 09:57 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: -2 Всего: 52 |
Всё что ты перечислил работает только с malloc / free ?
Я на new / delete ориентировался. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
new/delete реализованы через malloc()/free()
в конце концов можно попробовать Это сообщение отредактировал(а) MAKCim - 15.3.2007, 12:50 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: -2 Всего: 52 |
Спасибо!
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
proc_maker |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
Скажите пожалуйста, а какими средствами можно сделать то же самое что делает mtrace но только для одного конкретного потока программы, чтобы не получать данные по другим потокам т.к. получаются ОГРОМНЕЙШИЕ логи. И еще попутный вопрос. Как в gdb я могу посмотреть в каком месте программы была выделена эта память (в случае утечки) если стека уже нет, а только остался адрес переменной чтобы найти причину утечки. Т.е. другими словами, я вижу что моя программа занимает пол-гига виртуальной памяти, как узнать какой из потоков занимает ее большую часть чтобы найти где утечка? Спасибо огромное! Это сообщение отредактировал(а) proc_maker - 22.3.2007, 15:38 |
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
mtrace() ставит hook на malloc, а обращение к malloc может быть в разных потоках так что без извращений никак я так понимаю у тебя речь идет о pthreads тогда думаю может помочь связка pthread_self() + mtrace() + __malloc_initialize_hook (см. man malloc_hook) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
proc_maker |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
Спасибо за совет!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под 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. |