Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   ¿Cómo puedo saber que se ha liberado toda la memoria usada? (https://www.clubdelphi.com/foros/showthread.php?t=59854)

noob 10-09-2008 22:46:13

¿Cómo puedo saber que se ha liberado toda la memoria usada?
 
Tengo un programa y quiero saber si al final de este se ha liberado toda la memoria. Me explico, si tengo un objeto de tipo mesa y hago:

Código Delphi [-]
objeto := mesa.create;

y luego al salir hago:

Código Delphi [-]
objeto.destroy;

pues se supone que la memoria que he usado la he liberado antes de salir del programa, pero si no hago el destroy dejo basura por ahí.

En teoría es fácil pero es que tengo un programa que una vez que le ejecuto luego no me deja borrar el ejecutable porque me dice que está en uso, con lo cual pienso que algo no he liberado por ahí...

xEsk 10-09-2008 23:49:05

Hay varias formas de lograrlo.

Usando el propio Delphi (minimo Delphi 2006) poniendo la variable ReportMemoryLeaksOnShutdown a true para activarlo. Si hay memory leaks, te aparecerá una ventanita informando de la memoria no aliberada (al salir del programa). Más información: http://delphi.about.com/od/adptips20...emory_leak.htm

Otra opción, es usar el EurekaLog (muy bueno), es de pago... pero se lo vale! Más información: http://www.eurekalog.com/

Otra opción más, es el FastMM, este es OpenSource, muy bueno también. Más información: http://sourceforge.net/projects/fastmm/

Hay otras soluciones, pero con estas tienes suficiente.

Saludos

xEsk 10-09-2008 23:51:17

Por cierto, lo normal es usar la función "Free" para destruir objetos (que no son hilos).

Saludos.


La franja horaria es GMT +2. Ahora son las 20:15:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi