![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
что то не уничтожилось :( [D7, XP]
One_More_Slon © (2006-11-20 12:13:00)Господа, подскажите, пожалуйста, есть ли возможность отследить объекты созданные приложением и увидеть какие из них не уничтожились после завершения работы приложения.
Проблема следующая:
После завершения работы моей ocx от нее остается что-то, что вызывает run time error при закрытии всего приложения под отладкой.
Если не под отладкой, то просто держит файл осх и его нельзя удалить, изменить до закрытия всего приложения.
Джо (2006-11-21 01:13:00) [1]> [4] Barloggg (20.11.06 15:24)
> Менеджер памяти лично меня не впечатлил. показывает лишь
> сам факт протечки, или я не понял как им правильно пользоваться.
Оттого, видимо, и "не впечатлил", что не понял, как пользоваться. CheckMem в большинстве случаев корректно показывает место в программе, где была выделена память (и не освобождена). Рекоммендую все-таки научиться им пользоваться, иногда полезно, особенно на чужих исходниках :)
Kolan (2006-11-20 21:53:00) [2]> Менеджер памяти лично меня не впечатлил.
Конечно, действительно если он пишет что не уничтожился экземпляр:TMySpecialReportManager, то вспомнить где это создано никак...
ЗЫ
Классная штука в BDS встроена пользуюсь постоянно.
kami (2006-11-20 21:37:00) [3]FastMM4 и MemProof. Отлично дополняют друг друга.
Barloggg (2006-11-20 15:24:00) [4]я имел ввиду просто веди лог. что ты создаешь, что уничтожаешь. потом в текстовом файле ручками подсчитаешь что к чему и может быть даже "где".
а остальное это лишь реализация.
Менеджер памяти лично меня не впечатлил. показывает лишь сам факт протечки, или я не понял как им правильно пользоваться.
Джо (2006-11-20 14:25:00) [5]Попробуй погонять под альтернативными менеджерами памяти. Например CheckMem или FastMM. Последний (в несколько урезанной версии) является штантным МП в BDS2006.
One_More_Slon (2006-11-20 14:16:00) [6]Че то я не понял что ты имеешь ввиду
Barloggg (2006-11-20 12:17:00) [7]ну, лог-файл может помочь. особенно если ради каждой записи открывать и закрывать файл.
сделай в каждой процеуре такие скобки
{$IFDEF UseLOG}
здесь код записи
{$ENDIF}
и при включенном {$DEFINE UseLOG}
будет запись - выключил этот код даже не компилируется.