Потеря памяти
Материал из DRKB
Потеря памяти[править | править код]
Если Ваша программа после завершения "съест" некоторое количество памяти, Windows тактично об этом умолчит, и ошибка останется не найденной. Поэтому я рекомендую на этапе разработки, в файл проекта вставлять модуль checkMem, который отследит некорректную работу с памятью. Вставлять его нужно первым, для обеспечения чистоты эксперимента. Текст модуля:
unit checkMem;
interface
implementation
uses sysUtils, dialogs;
var HPs: THeapStatus;
var HPe: THeapStatus;
var lost: integer;
initialization
HPs := getHeapStatus;
finalization
HPe := getHeapStatus;
Lost:= HPe.TotalAllocated - HPs.TotalAllocated;
if lost > 0 then
begin
beep;
ShowMessage( format('lostMem: %d',[ lost ]) );
end;
end.
Author: http://sunsb.dax.ru
Source: http://delphiworld.narod.ru
ID: 00827