Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

что то не уничтожилось :(   Найти похожие ветки 

 
One_More_Slon ©   (2006-11-20 12:13) [0]

Господа, подскажите, пожалуйста, есть ли возможность отследить объекты созданные приложением и увидеть какие из них не уничтожились после завершения работы приложения.

Проблема следующая:
После завершения работы моей ocx от нее остается что-то, что вызывает run time error при закрытии всего приложения под отладкой.
Если не под отладкой, то просто держит файл осх и его нельзя удалить, изменить до закрытия всего приложения.


 
Barloggg   (2006-11-20 12:17) [1]

ну, лог-файл может помочь. особенно если ради каждой записи открывать и закрывать файл.

сделай в каждой процеуре такие скобки

{$IFDEF UseLOG}
здесь код записи
{$ENDIF}
и при включенном {$DEFINE UseLOG}
будет запись - выключил этот код даже не компилируется.


 
One_More_Slon ©   (2006-11-20 14:16) [2]

Че то я не понял что ты имеешь ввиду


 
Джо ©   (2006-11-20 14:25) [3]

Попробуй погонять под альтернативными менеджерами памяти. Например CheckMem или FastMM. Последний (в несколько урезанной версии) является штантным МП в BDS2006.


 
Barloggg   (2006-11-20 15:24) [4]

я имел ввиду просто веди лог. что ты создаешь, что уничтожаешь. потом в текстовом файле ручками подсчитаешь что к чему и может быть даже "где".

а остальное это лишь реализация.

Менеджер памяти лично меня не впечатлил. показывает лишь сам факт протечки, или я не понял как им правильно пользоваться.


 
kami ©   (2006-11-20 21:37) [5]

FastMM4 и MemProof. Отлично дополняют друг друга.


 
Kolan ©   (2006-11-20 21:53) [6]

> Менеджер памяти лично меня не впечатлил.

Конечно, действительно если он пишет что не уничтожился экземпляр: TMySpecialReportManager, то вспомнить где это создано никак...

ЗЫ
 Классная штука в BDS встроена пользуюсь постоянно.


 
Джо ©   (2006-11-21 01:13) [7]

> [4] Barloggg   (20.11.06 15:24)
> Менеджер памяти лично меня не впечатлил. показывает лишь
> сам факт протечки, или я не понял как им правильно пользоваться.

Оттого, видимо, и "не впечатлил", что не понял, как пользоваться. CheckMem в большинстве случаев корректно показывает место в программе, где была выделена память (и не освобождена). Рекоммендую все-таки научиться им пользоваться, иногда полезно, особенно на чужих исходниках :)



Страницы: 1 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.065 c
15-1164206613
zdm
2006-11-22 17:43
2006.12.10
Жизнь до Visual Studio 2005


3-1160118755
__dmitry
2006-10-06 11:12
2006.12.10
сортировка вычисляемых полей


15-1163771975
Labamba
2006-11-17 16:59
2006.12.10
PIN to PIN messages


1-1161929527
Shlomo
2006-10-27 10:12
2006.12.10
Точка входа в проц-у ConvertToGlobalHandle не найден в kernel32


10-1126113296
kblc
2005-09-07 21:14
2006.12.10
inproc com-server