Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Modo Debug I Administrador De Tareas

Iniciado por vincent, 11 de Marzo de 2005, 01:46:41 PM

« anterior - próximo »

vincent

 Muy buenas,

estoy comprobando temas de memoria de una forma un tanto cutre, pero que no veo pq no me tendria que funcionar.

Estoy poniendo un breakpoint en mi programa, lo ejecuto en modo debug y le echo un ojo a la memoria que ocupa el proceso en el administrador de tareas. Pues bien, cada vez que lo ejecuto me da un valor diferente, no muy diferente pero lo justo para no fiarme mucho.

El tema es que estoy mirando si libero correctamente toda la memoria de un objeto y me da valores un poco diferentes antes de la creación y después de la destrucción, con lo que no sé si es culpa mia o culpa del administrador de tareas.

Conoceis algún programa/método que realice buenas medidas de la memoria ocupada?

Merci!

VinCenT
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

zupervaca

 si usas el visual c++ o .net puedes activar el modo debug para ver las perdidas de memoria (memory leaks) de esta manera:

#define CRTDBG_MAP_ALLOC
#include
#include

y al final del app cuando sepas seguro que has destruido todos los objetos que conoces tienes que llamar a esta funcion:

_CrtDumpMemoryLeaks();


segun el msdn es importante incluir #include antes que el otro, aunque yo lo he probado y no pasa nada en un .net por si las moscas y cosas extrañas entre compiladores ponlo en ese orden


saludos

BeRSeRKeR

 Echale un vistazo al manager de memoria de Paul Nettle. Yo no lo he utilizado pero por lo que he leído está muy bien. Lo puedes encontrar en la sección "source code" de Fluid Studios.

Te pongo la descripción:

CitarMemory Manager (a.k.a. "MMGR")

MMGR is an industrial-strength memory manager for almost any project.

Not only will MMGR probably point out some bugs you never knew you had, but it is also a great development tool. Among other standard tracking tools (overruns/underruns, deallocation mismatches, etc.), MMGR also provides a rich featureset of developer tools. For example, it allows you to set a breakpoint on an arbitrary allocation, generate a snapshot report of memory currently in use, etc. You can even ask MMGR to track how much of your allocated RAM is actually in use (nothing worse than allocating 64MB of memory just to find that you only needed 2K. :)

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Zaelsius

 
CitarSoftware comercial:


- Compuware DevPartner Studio,  suite de depuración y optimización para Microsoft Visual Studio 6.0 y  .NET. Abarca todos los lenguajes de Visual Studio e incluye una herramienta  para control y optimización de código fuente bajo Visual Basic .NET y  Visual C#. http://www.compuware.com/products/devpartn...tner/studio.htm


- Rational Purify,  producto de IBM muy similar al anterior. Tiene versiones para Windows(Visual Studio .NET), Linux y Unix. al  contrario que DevPartner Studio, Purify no instrumenta el código fuente(sólo  Windows y Unix),  haciendo posible la depuración de programas sin código fuente disponible.  No necesita una máquina tan potente como DevPartner studio. http://www.rational.com/products/pqc/index.jsp


- Intel VTune, suite  de optimización con versiones Windows(Visual Studio .NET) y Linux. Recoge multitud de datos acerca de la ejecución de nuestros programas, y permite  usarlo tambien de forma remota. http://www.intel.com/software/products/vtune/


Software libre:

- Gcov, Gprof, Memprof,  herramientas para realizar tests de cobertura, optimización y  detección de errores de memoria, respectivamente.


GNU Cov: http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_8.html


GNU Prof: http://www.gnu.org/manual/gprof-2.9.1/gprof.html


Memprof: http://www.gnome.org/projects/memprof/


- Electric Fence,  herramienta pasiva que detecta errores relacionados con la memoria, como acceso fuera de rango a arrays, etc. No requiere tocar el código de la  aplicación, ya que se introduce en tiempo de enlazado. http://perens.com/FreeSoftware/

A mí me gusta mucho el DevPartner :).. aunque ahora mismo con el tema de móviles no lo uso. Busca alguna demo o versión de evaluación.

vincent

 Muchisimas gracias a todos!

Y ya que estamos.... al finalizar mi aplicación me da errores de directx que no libero memoria de alguno de sus objetos. Hay manera de saber quales son? (pq yo diria que los libero todos... )

Gracias!

VinCenT
Desarrollo en .Net y metodologías http://devnettips.blogspot.com






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.