2011-05-26 9 views
5

Estoy tratando de realizar algunos perfiles de memoria en aplicaciones que están acumulando grandes cantidades de memoria.C# memory profile

He encontrado esta herramienta (CLRProfiler): http://msdn.microsoft.com/en-us/library/ff650691.aspx

Pero no parece estar funcionando. Cuando lo ejecuto, queda para siempre en "Esperando la aplicación para iniciar el tiempo de ejecución del lenguaje común".

¿Alguna otra sugerencia sobre cómo puedo perfilar la memoria en C#?

+5

¿Estás usando la versión correcta? Tenga en cuenta que hay una versión de 32 bits y una de 64 bits. Esto tiene que coincidir con la configuración de compilación de tu aplicación. – Mr47

Respuesta

4

Si trabaja con W7 o Vista, inícielo como administrador (Archivo-> ContextMenu-> Ejecutar como administrador). Como ya dijeron otros, también puedes utilizar la versión correcta.

+1

Intenté ejecutar como administrador y obtuve lo mismo. – Kyle

+2

@Zenox: ¿Ha seleccionado la versión clr correcta en la versión CLR de Target? Combobox? Hasta .net 3.51, seleccione V2 Desktop CLR, arriba, use el V4. ¿Tiene el último perfilador clr (V4)? Recuerdo que tuve el mismo problema que tú, pero comenzar con derechos elevados ha resuelto el problema (asegúrate de que no tienes otra instancia del generador de perfiles clr en ejecución). Sin embargo, después de que el perfilador CLR me pusiera manos a la obra, cambié a http://memprofiler.com/. Realmente impresionante esta herramienta ... – HCL

+0

Para mí necesitaba una combinación de esta respuesta y el comentario anterior, que es interesante porque mi colega puede ejecutarlo sin tener que elegir administrador y puede dejarlo con v4 del CLR para ejecutar exactamente la misma aplicación, ¡así que parece un poco aleatorio! –

3

Si su proyecto está configurado para compilar x86, entonces debe usar la versión de 32 bits, incluso si su sistema operativo es de 64 bits.

+0

Gracias, esto lo arregló para mí. – Carra