Skocz do zawartości

[Delphi] Leaki w postaci stringów


Force

Polecane posty

Ogólnie o co mi biega:

w Mim programie tworzą się leaki w postaci stringów (różnych rozmiarów leaki tak od 4 bajtów do 60) i jako unknown(4 do 12) i moje pytanie jest takie: czy mieliście takie leaki i jak je powodowaliście? Bo przecież stringami zarządza jakiś tam mechanizm, to jeśli nie tworze PStringów to powinno być wszystko ok, a nie jest, a może znacie jakieś różne dziwne możliwe błędogeny :)

Baza tysięcy lotnisk: http://airportsbase.com

Link do komentarza
Udostępnij na innych stronach

Jeśli tworzysz "instancję" rekordów dla wskaźników pointer (czasem taka technika jest bardzo przydatna, niebezpieczna ale przydatna B)) na te rekordy przez new, a kasujesz tą instancję pod wskaźnikiem będącym jako pointer przez dispose, to przeciek murowany.

 

przykład:

 

type
 PX = ^TX;
 TX = record
   s: AnsiString;
 end;

var
 p: pointer;

begin
 p := new(PX);
 PX(p).s := 'Delphi B)';
 dispose(p); // przeciek
 // dispose(PX(p)); // prawidłowo
end.

 

Błąd łatwy do przeoczenia, bo przy specyficznym kodzie, do czasu kiedy w rekordzie są zwykłe zmienne niewymagające informacji RTTI, wszystko działa ok. Wrzucasz łańcuch w rekord a tu BACH :) i nie wiadomo gdzie szukać.

soon Delphi will be only for veterans and finally we all will die at the end…

delphi.dathox.com - nowinki z świata Delphi/Pascala

only programmers and drug dealers call their customers "users"

 

Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą.

Link do komentarza
Udostępnij na innych stronach

Tak i nie trzeba zerować tablic dynamicznych (czy robić im nil). Są zwalniane automatycznie jak łańcuchy.

soon Delphi will be only for veterans and finally we all will die at the end…

delphi.dathox.com - nowinki z świata Delphi/Pascala

only programmers and drug dealers call their customers "users"

 

Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą.

Link do komentarza
Udostępnij na innych stronach

Magia RTTI :D

soon Delphi will be only for veterans and finally we all will die at the end…

delphi.dathox.com - nowinki z świata Delphi/Pascala

only programmers and drug dealers call their customers "users"

 

Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...