PDA

Ver la Versión Completa : Memprof


susje
24-07-2003, 16:38:33
Hola a todos.

He ejecutado mi aplicacion con el Memprof y cuando termina de ejecutarse se levanta una ventana con los Items y me sale algo parecido a esto:

1175 VirtualAlloc (02268000,16384,4096,4)

¿Alguien me podria explicar que significa?, ¿Como puedo llegar al objeto que no libera la memoria?.

Saludos

delphi.com.ar
24-07-2003, 16:44:42
Puedes ver la documentación de esta función en la Win32.hlp.

The VirtualAlloc function reserves or commits a region of pages in the virtual address space of the calling process. Memory allocated by this function is automatically initialized to zero.

Seguramente lo que te advierte el MemProof es que se reservaron páginas de memoria pero no se liberaron explícitamente (VirtualFree).

Saludos!

susje
24-07-2003, 17:03:11
¿Pero como se yo el objeto que tengo que liberar?
Todos tienen el .free


Saludos.

jmselesan
24-07-2003, 18:46:36
Hola. A mi tambien me gustaria conocer esa informacion mediante MemProof.
Gracias

delphi.com.ar
24-07-2003, 19:59:48
No lo he leído, pero supongo que cuando el proceso termina de ejecutarse, el sistema operativo se encarga de liberar toda la memoria alocada con VirtualAlloc. Lo que debe estar diciendo MemProof, es que no se ha liberado explícitamente esta memoria con VirtualFree.

delphi.com.ar
24-07-2003, 20:24:22
Bueno, lo he probado y efectivamente, el MemProof dice algo como esto: The allocated pages must be freed whith VirtualFree when no longer need

Les digo que prueben compilar este exe, y vean lo que sucede:


program Project1;

uses
Forms;

begin

end.