Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Memory leaks

Iniciado por shephiroth, 29 de Enero de 2007, 12:14:33 AM

« anterior - próximo »

shephiroth

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??

Elvis Enmanuel

El mejor de toda la historia es el memory manager de Paul Nettle :)

http://www.fx-world.org/wordpress/?p=15

ains

MrK

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).

vincent

Cita de: "Elvis Enmanuel"El 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.
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

shephiroth

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

Elvis Enmanuel

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

shephiroth

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.

Pogacha

Yo tambien me lo bajo y lo voy a probar ...

Elvis Enmanuel

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






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.