Текущий архив: 2004.04.04;
Скачать: CL | DM;
Вниз
Memory leak Найти похожие ветки
← →
BKV (2004-03-18 15:11) [0]Уважвемые мастера, посоветуете какую-нибудь утилитку для обнаружения Memory leaks в дельфийских программах.
чем вы пользуетесь?
← →
Игорь Шевченко © (2004-03-18 15:15) [1]MemProof
← →
just me (2004-03-18 15:40) [2]MemCheck: http://v.mahon.free.fr/pro/freeware/memcheck/
← →
Digitman © (2004-03-18 17:15) [3]
> чем вы пользуетесь?
головой
лучше "утилитки", нежели голова, не сыскать
каждому allocmem/reallocmem должен соответствовать свой freemem
без понимания того, как, в какой момент и при каких условиях явно или неявно происходят упомянутые действия по распределению/перераспределению/освобождению памяти в той или иной куче, никакой MemProof не поможет
← →
Игорь Шевченко © (2004-03-18 17:31) [4]
> каждому allocmem/reallocmem должен соответствовать свой
> freemem
>
> без понимания того, как, в какой момент и при каких условиях
> явно или неявно происходят упомянутые действия по распределению/перераспределению/освобождению
> памяти в той или иной куче, никакой MemProof не поможет
Особенно хорошо применять эти постулаты к унаследованному коду :))
← →
Тимохов © (2004-03-18 17:35) [5]reallocmem"му может соответствовать также reallocmem без всякого freemem
← →
BKV (2004-03-18 17:35) [6]Голова конечно хорошо, но и она иногда дает сбои.
Ну предположим, за свою голову я спокоен, а как быть с используемыми пакетами других разработчиков или даже VCL.
Могу точно сказать что в VCL (Delphi 3) довольно много Memory leaks.
← →
Digitman © (2004-03-18 17:38) [7]
> Игорь Шевченко © (18.03.04 17:31) [4]
Игорь, комментарий не в твой огород) ... надеюсь, понимаешь ..
Касаемо же унаследованногго кода - нефига польговать код, не имеющий исх.текстов) .. это imho меня пока еще не подводило ... и мемлики, разумеется, были в практике, но стоило глянуть в исх.код чего-то хрен знает что делающего в своих потрохах, как проблема решалась в шесть секунд .. не думаю, что ты действуешь иначе)
← →
BKV (2004-03-18 17:43) [8]Предположим такая ситуация:
У тебя в руках неизвестно кем написанный довольно большой проект и
тебе надо довести его до ума.
Ты предлагаешь просматривать все десятки тысяч строк кода на правильность выделение\освобождения памяти?
← →
Игорь Шевченко © (2004-03-18 17:46) [9]Digitman © (18.03.04 17:38)
Сергей, речь как раз идет о том коде, который упомянут в
BKV (18.03.04 17:43) [8]
Я, честно говоря, MemProof"ом пользовался считанное число раз, как раз в подобных ситуациях, когда приходилось искать утечки в чужих творениях. Кстати, неплохой инструмент и бесплатный :)
← →
BKV (2004-03-18 17:49) [10]Кто нибудь пользовался AQTime?
Какие впечатления?
← →
Digitman © (2004-03-18 17:50) [11]
> BKV (18.03.04 17:43) [8]
я предлагаю думать репой головы? когда берешься за проект, использующий пакеты без исх. текстов
← →
Игорь Шевченко © (2004-03-18 17:53) [12]Digitman © (18.03.04 17:50)
Сергей, речь идет о проектах с исходными текстами. Которому ты, мягко говоря, не доверяешь, но с которым надо иметь дело. Причем, проект объемный :)
← →
Defunct © (2004-03-18 18:22) [13]> чем вы пользуетесь?
Лучшая утилитка, это сам Delphi.
киньте таймер на форму, в обработчике напишите:procedure TForm1.Timer1Timer(Sender: TObject);
begin
Caption := Format("Занято памяти: %DKb",[AllocMemSize Div 1024]);
end;
← →
Игорь Шевченко © (2004-03-18 19:04) [14]Defunct © (18.03.04 18:22)
> Лучшая утилитка, это сам Delphi.
> киньте таймер на форму
А Task Manager вообще уже написан. Только Ctrl+Shift+Esc нажать и выбрать колонку "Память".
← →
romeo © (2004-03-18 22:33) [15]
> just me (18.03.04 15:40) [2]
> MemCheck: http://v.mahon.free.fr/pro/freeware/memcheck/
Во, блин, полезно иногда, оказывается, читать ответы на чужие вопросы!..
Скачал только что эту примочку, решил проверить давно сделанную прогу (довольно объемистую). Тут же получил указание, что в таком-то модуле и на такой-то строке создаются экземпляры такого-то класа, которые в последствии не освобождаются. Очень удобно.
Молодцы буржуи!
Страницы: 1 вся ветка
Текущий архив: 2004.04.04;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.024 c