Como saber si quedan objetos por liberar??
Publicado por Nelek (816 intervenciones) el 22/02/2007 11:24:55
Hola,
Al final tengo que retomar la version antigua de mi proyecto donde, en lugar de trabajar con punteros a los objetos donde guardo los datos relevantes, trabajo con los objetos en si. Es decir, devuelvo el objeto en si al utiliar la funcion de busqueda de un determinado objeto, en vez de una referencia al objeto. Por lo que se pueden quedar en memoria si no llamo al destructor al acabar de trabajar con el.
La cosa esta en que no puedo usar el destructor siempre que llamo a un objeto porque me salen mensajes de fallos y assertions. Supongo que es porque hay veces que el propio programa llama al destructor internamente (sin yo verlo directamente o saber en que posicion es llamado).
Hace un tiempo tuve problemas con memory leaks y lo resolvi en gran medida, no me quite todos los avisos pero los reduje del orden de 20 veces usando los destructores de listas y vectores. Pero los objetos locales... creo que aun se quedan por ahi.
Por eso me gustaria saber si hay alguna manera de controlar si se quedan objetos en memoria cuando cierro ventanas o la aplicacion entera, para poder usar el destructor en el paso inmediato interior y asi liberar la memoria.
Al final tengo que retomar la version antigua de mi proyecto donde, en lugar de trabajar con punteros a los objetos donde guardo los datos relevantes, trabajo con los objetos en si. Es decir, devuelvo el objeto en si al utiliar la funcion de busqueda de un determinado objeto, en vez de una referencia al objeto. Por lo que se pueden quedar en memoria si no llamo al destructor al acabar de trabajar con el.
La cosa esta en que no puedo usar el destructor siempre que llamo a un objeto porque me salen mensajes de fallos y assertions. Supongo que es porque hay veces que el propio programa llama al destructor internamente (sin yo verlo directamente o saber en que posicion es llamado).
Hace un tiempo tuve problemas con memory leaks y lo resolvi en gran medida, no me quite todos los avisos pero los reduje del orden de 20 veces usando los destructores de listas y vectores. Pero los objetos locales... creo que aun se quedan por ahi.
Por eso me gustaria saber si hay alguna manera de controlar si se quedan objetos en memoria cuando cierro ventanas o la aplicacion entera, para poder usar el destructor en el paso inmediato interior y asi liberar la memoria.
Valora esta pregunta


0