Postagens

Mostrando postagens de Março, 2009

Detectando memory leaks, CnMemoryProfiler e FastMM4

Vamos conversar sobre memory leaks.



    Quanto mais programamos Orientado aObjetos, mais
temos a necessidade de instanciar componentes sem colá-los na
nossa form, ou seja, instanciá-los em runtime, ou
de instanciá-los dentro de nossas próprias classes, quando
são membros destas.

Isso pode causar diversos memory –leaks causados por 4 fatores:

esquecimento de dar um free no objeto ou componentes sem owner que
não são liberados
uma exeption, abort,exit, close, halt ou coisa parecida
acontecendo antes do free.
Instanciar 2 vezes um objeto em uma mesma variável,
perdendo a referência do primeiro.
Ponteiros que apontam para estruturas alocadas dinamicamente que
você esquece de dar um freemem.

    As edições 72, 74 e 75 da revista Clube Delphi, que traziam artigos sobre interfaces e POO, falavam
sobre isso, e até falavam sobre quando usar os owners self,
application, formx ou nil. Nem sempre estamos dentro de uma form,nem
sempre nossa classe é um descendente de TComponent,
então passar self, application ou…

Bem - Vindo

Bom, to começando agora a criar meu blog para postar alguns de meus trabalhos, dicas, bibliotecas etc e espero que sejam uteis.