Neben den schon erwähnten FastMM4 und MemCheck o.ä. solltest Du dir angewöhnen, das, was Du allokierst auch im gleichen Kontext freizugeben.
Beispiel:
Delphi-Quellcode:
Var
localObject : TSomeOBject;
Begin
localObject := TSomeObject.Create;
Try
DoSomethingWith(localObject);
Finally
localObject.Free
End
End;
...
Type
TSomeObject = Class (TSomeOtherObject)
private
fObject : TFoobar;
...
Constructor TSomeObject.Create;
begin
inherited;
fObject := TFoobar;
end;
Destructor TSomeObject.Destroy;
Begin
fObject.Free;
inherited
End;