Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: DanteInfernum en 14 Julio 2013, 23:40 pm



Título: ¿Se puede seguir el consumo de memoria de mi programa paso a paso?
Publicado por: DanteInfernum en 14 Julio 2013, 23:40 pm
¿Es posible ver el consumo de memoria que va utilizando mi programa?
Me gustaría por ejemplo poder ir viendo cada variable u objeto que voy creando y cuanto espacio va utilizando en memoria.
¿Hay alguna opción en Visual Studio que me permita ver esto?


Título: Re: ¿Se puede seguir el consumo de memoria de mi programa paso a paso?
Publicado por: Keyen Night en 20 Julio 2013, 17:52 pm
Eso no es posible a través del Visual Studio, pero Marshal.SizeOf da el tamaño en bytes, de tipos nativos como integer, string, char, entre otros, la suma de todos los tamaños de los miembros de una clase es el tamaño de la clase.

El problema es que en .Net hay clases y tipos extremadamente compuestos, si quieres realizar el calculo para estos, debes usar Reflexión y se complica un poco más el asunto aunque es 100% posible.


Título: Re: ¿Se puede seguir el consumo de memoria de mi programa paso a paso?
Publicado por: DanteInfernum en 21 Julio 2013, 02:42 am
Ok, gracias.
Igual por ahora no tengo en mente calcular cosas tan complejas. Recién estoy empezando, y lo que quería es ir comparando, por ejemplo, si al declarar una variable esta ya empieza a consumir memoria, o si lo hace sólo luego de ser definida, y cosas por el estilo.


Título: Re: ¿Se puede seguir el consumo de memoria de mi programa paso a paso?
Publicado por: Keyen Night en 24 Julio 2013, 00:19 am
Si quieres comprobar rendimiento, Visual Studio tiene potentes herramientas para hacerlo, que pueden desglosar el consumo de recursos incluso por métodos, podrás ver gráficamente el consumo de todas las funciones y métodos que conforman tu aplicación, cuál consume más, cuál consume menos, hacer comparaciones y óptimizaciones a partir de los resultados. Si quieres hacer uso de estas herramientas tendrás que investigar un poco acerca de..., ya que es un tema bastante amplio ;)