|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.08.2013, 18:13 | #1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Чем ловить утечки памяти?
Всем доброго. Мне нужно научится ловить утечки памяти на WinAPI без применения подобных EurekaLOG и иже с ней.
Какие функции позволяют посмотреть и контролировать размер выделенной памяти? Вообще если делать ловлю блох на WinAPI, какая стратегия наиболее оптимальная. В интернете пока что нарыл только статьи, где используются разного рода библиотеки и возможности ЯВУ (будь то Делфи или Плюсы) - встроенные возможности. Понятное дело рыть буду дальше, но если у кого есть по этому вопросу наработки, или ссылки просьба поделится.
I'm learning to live...
|
28.08.2013, 19:05 | #2 |
Форумчанин
Регистрация: 19.08.2011
Сообщений: 329
|
Как на счет
Код:
|
28.08.2013, 19:47 | #3 |
Пользователь
Регистрация: 10.08.2013
Сообщений: 67
|
имхо, утечки как раз таки надо самостоятельно ловить. по ф-циям - VirtualQuery[Ex] - посмотрите у Рихтера целая глава "Исследование виртуальной памяти"(+программа пример VMMap). вообще, конечно, писать код нужно так, чтобы понимать где и что освобождается, но если проект уже большой - тогда на плюсах удобно глобальные new/delete подменить для мониторинга(для Delphi тоже нечто вроде оберток для GetMem/FreeMem etc) - не знаю, насколько это от EurekaLOG отличается, но знать потом где выделяется кусок памяти, про который потом "забывают" бывает полезно. "ловить блох" на WinAPI особого смысла не имеет, т.к. многие собственный менеджер памяти реализуют и получается, что следить уже надо за ним.
|
28.08.2013, 19:53 | #4 | ||||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Цитата:
А вот какие... С другой стороны используется ADO, SMTP, DBF провы, и другие вкусности винды, пока что ума не приложу на что грешить. Цитата:
Цитата:
Цитата:
I'm learning to live...
Последний раз редактировалось Stilet; 28.08.2013 в 19:56. |
||||
28.08.2013, 20:56 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,493
|
Если используете Visual Studio гляньте на crtdbg.h
Ref: http://msdn.microsoft.com/en-us/libr...(v=vs.90).aspx |
28.08.2013, 23:00 | #6 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,120
|
Stilet
Мне нужно научится ловить утечки памяти на WinAPI без применения подобных EurekaLOG и иже с ней. бесплатные но превосходящие по возможностям DebugCRT утилиты - Visual Leak Detector, Dr. Memory, если нужно чего покруче - AQTime - помимо утечек, оно еще кучу всего умеет, но придется выложить свои кровные денежки, или украсть ((:
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
28.08.2013, 23:15 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
За бесплатку спс. - гляну.
Кьютайм не катит. Не имею права, а покупать не хоццо
I'm learning to live...
|
29.08.2013, 13:46 | #8 |
Форумчанин
Регистрация: 19.08.2011
Сообщений: 329
|
Stilet, нашел тут несколько вещей. ReportMemoryLeaksOnShutdown, Memory Management on the Win32 Platform и парочка исходников.
P.S. Это всё для XE3, как на счет других версий без понятия |
29.08.2013, 14:15 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Цитата:
I'm learning to live...
|
|
29.08.2013, 18:48 | #10 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,755
|
Stilet, а что мешает поставить FastMM вручную? У меня он прекрасно работает в Delphi 6.
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Утечки памяти | YourLastSong | Общие вопросы C/C++ | 26 | 02.11.2011 22:56 |
Утечки памяти | volod3000 | Общие вопросы Delphi | 0 | 22.06.2011 00:08 |
утечки памяти | KOLANICH | Общие вопросы C/C++ | 3 | 30.01.2011 00:15 |
Утечки памяти. | c++ learner | Общие вопросы C/C++ | 3 | 29.11.2010 15:01 |
InterBase 7.1 - утечки памяти. | pushkin42 | БД в Delphi | 2 | 21.03.2007 16:15 |