Buenas.
Al final el anterior problema pude solucionarlo revisando el codigo...pero conforme crece el proyecto aparecen nuevos memory leak y me es muy dificil encontrarlos.....
He probado los links que me disteis en el anterior post:
Cita de: Pogacha
http://www.codeguru.com/cpp/cpp/cpp_mfc/mem_tracking/article.php/c825
http://www.linuxjournal.com/article/6556
Este es del flipcode y la pagina no me responde, pero todavia esta en el cache de google:
http://209.85.165.104/search?q=cache:UZU-pTVuJjkJ:www.flipcode.com/tutorials/tut_memleak.shtml+memory+leaks+tracker+c%2B%2B&hl=es&gl=es&ct=clnk&cd=1
El primero preparado para un visual c++ 5 o quizas anterior y no consigo hacerlo rular en el visual net 2005.
El de linux journal esta interesante, el ccmalloc es bastante completo y creo q seria suficiente, pero no encuentro referencias para poderlo poner en mi proyecto.
En flipcode lo explican todo, pero el visual 2005 me da problemas a la hora de redefinir new y delete.
Ahora bien, aparte de solucionar mi problema, vosotros que utilizais?? algo comercial?? algo propio?? algo free?? O quizas es q cometo demasiados errores de codigo??
El mejor de toda la historia es el memory manager de Paul Nettle :)
http://www.fx-world.org/wordpress/?p=15
ains
yo usaba el DUMA, http://duma.sourceforge.net/ , que se basa en el Electric Fence
(como ventaja no solo detecta memory leaks, como inconveniente no es tan
portable como el anteriormente mencionado).
Cita de: Elvis EnmanuelEl mejor de toda la historia es el memory manager de Paul Nettle :)
http://www.fx-world.org/wordpress/?p=15
ains
Este es el que utilizo yo. Va de fabula.
Hmmm....me he bajado el original de c++ del memory manager. Se ve bastante completo, y facil de meter en el proyecto. Lo he metido y me ha sacado 30 leaks xDD
Aprobechando que lo usais, me podeis explicar que es lo q significa cada cosa?? Veamos, en memleaks.log esta la siguiente cabecera:
Alloc. Addr Size Addr Size BreakOn BreakOn
Number Reported Reported Actual Actual Unused Method Dealloc Realloc Allocated by
Por lo poco que me he imaginado addr/size reported/actual es lo mas importante. Pero tampoco tengo muy claro sacar de ahi como demonios consigo saber donde estan los leaks xDD
GRACIAS
Este gestor de memoria te indica la línea y el fichero donde se produce, pero para conseguirlo debes añadir el #include "mmgr.h" en cada fichero (o en un include global para todos los ficheros de tu proyecto).
ains
Ha eso llego :evil: :evil: :evil:
Mi pregunta era mas como interpretar el txt....pq hasta el momento me esta marcando TODOS los new y malloc, y no me creo q absolutamente todos esten mal.
Yo tambien me lo bajo y lo voy a probar ...
El memory.log es configurable y puedes habilitar que te logee cada new/delete o no con la variable "alwaysLogAll". Hay un define "STRESS_TEST" que te la pone a true, aunque no recuerdo si en la implementación original venía habilitado o no :|
ains