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

Вниз

Поиск утечек памяти   Найти похожие ветки 

 
Stager ©   (2003-01-26 22:02) [0]

Интересна информация про сабж. Но с некоторыми деталями. Мне известно про существование BoundsChecker"а и прочих утилит, работающих с исполняемым файлом. Они работают "пост фактум", то есть по завершении программы смотрят, какая память освободилась, а какая нет. А нет ли средств, способных отследить возможность утечки памяти по исходнику? Например, компилятор Дельфи еще до запуска умеет выдавать хинты вида: "Variable X might not have been initialized", исходя из анализа текста PAS-файла. А есть ли софт, предназначенный для анализа исходника на предмет memory leaks? Что скажете, Мастера?

С уважением, Алексей.


 
Игорь Шевченко ©   (2003-01-27 10:35) [1]

Нету софта. Пока не запустишь - не узнаешь


 
Mystic ©   (2003-01-27 11:30) [2]

THeapStatus = record
TotalAddrSpace: Cardinal;
TotalUncommitted: Cardinal;
TotalCommitted: Cardinal;
TotalAllocated: Cardinal;
TotalFree: Cardinal;
FreeSmall: Cardinal;
FreeBig: Cardinal;
Unused: Cardinal;
Overhead: Cardinal;
HeapErrorCode: Cardinal;
end;

function GetHeapStatus: THeapStatus; platform;

Создай модуль, подсоедини его первым к проекту и в секции фиализации выведи эту информацию. Если перекомпилишь system.pas c заданным символом препроцессора DEBUG_FUNCTIONS, то получишь возможность пройтись по всем выделенным блокам памяти (либо получить список классов, порожденным от указанного).


 
REA ©   (2003-01-27 11:36) [3]

А в MSVC это встроено. Боундс чекер какой-то есть, но я пока такого не нашел с поддержкой Delphi на дисках - зайди на нумегу там написано.


 
down   (2003-01-27 12:33) [4]

Посмотри MemCheck ( http://v.mahon.free.fr/pro/freeware/memcheck)



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

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

Наверх




Память: 0.47 MB
Время: 0.032 c
7-38612
maxim2
2002-12-12 21:20
2003.02.13
Перезагрузка компа, перез. системы и выключение компа как ?


3-38067
Ig0r
2003-01-27 10:53
2003.02.13
ключевое поле в ADO


1-38229
Krishnaid
2003-02-05 09:59
2003.02.13
Запустить файл с помощью Web-странички


14-38523
Romychk
2003-01-28 10:23
2003.02.13
Роутер из старого компа 386


1-38231
SergeyP_2000
2003-02-05 12:00
2003.02.13
COM