Memoria heap ocupada
Alguien sabe como puedo saber si toda la memoria heap q reservo es liberada al final del programa? (quiero saber si me falta hacer algun delete o free)
Gracias.
Gracias.
Cuando sales del programa no es problema, puesto que al terminar el programa ya la liberará el sitema toda la memoria reservada.
Es más grave para programas que no terminan y corren más o menos continuamente, ya que si no se libera todo, al final se pueden comer la memoria.
Para saber si la has liberado toda, echa un ojo en www.geocities.com/chuidiang en la parte de trucos cpp. Hay uno que permite redefinir los new y delete globales de una forma sencilla, de forma que ademas de reservar y liberar memoria, lleven un contador de memoria reservada y te digan si te dejas algo. Si necesitas algo de ayuda para implementar ese truquillo, avisame.
Se bueno.
Es más grave para programas que no terminan y corren más o menos continuamente, ya que si no se libera todo, al final se pueden comer la memoria.
Para saber si la has liberado toda, echa un ojo en www.geocities.com/chuidiang en la parte de trucos cpp. Hay uno que permite redefinir los new y delete globales de una forma sencilla, de forma que ademas de reservar y liberar memoria, lleven un contador de memoria reservada y te digan si te dejas algo. Si necesitas algo de ayuda para implementar ese truquillo, avisame.
Se bueno.
Es buena idea, lo q pasa que ya tengo implementada mi aplicacion y no quiero retocarala. Necesito algo mas comodo y rapido.
Gracias de todas formas
Gracias de todas formas
No necesitas rehacer la aplicacion. Hazte un fichero con la redefinicion de new y delete y compilalo como librería. Si no quieres meter debugger, haz que new y delete, ademas de reservar memoria e incrementar el contador, lo escriban en pantalla.
Unicamente tienes que relinkar tu programa añadiendo esa librería al final y ejecutarlo, con debugger si no has puessto los print del contador.
Si te parece demasiado y tu programa corre más o menos de continuo, lo que puedes hacer es lanzarlo y vigilarlo su tamaño con el administrador de tareas (o comando ps en linux) durante un tiempo mas o menos largo, para ver si va creciendo.
Se bueno.
Unicamente tienes que relinkar tu programa añadiendo esa librería al final y ejecutarlo, con debugger si no has puessto los print del contador.
Si te parece demasiado y tu programa corre más o menos de continuo, lo que puedes hacer es lanzarlo y vigilarlo su tamaño con el administrador de tareas (o comando ps en linux) durante un tiempo mas o menos largo, para ver si va creciendo.
Se bueno.
