Estoy tratando de analizar un proyecto WPF (WPF, .NET 4.6.1, EF 6, Moq., en una máquina i5 con W10 de 64 bits) usando el perfilador de rendimiento con solo "Línea de tiempo" activada.
El problema es que al detener el programa me quedo atascado en la pestaña "Informe... sesión de diagnóstico" con el mensaje "Microsoft Visual Studio está deteniendo su sesión de diagnóstico" y el reloj de arena giratorio. Algunas veces simplemente se agota el tiempo, otras veces llego al informe eventualmente, pero de 5 a 20 minutos más tarde.
Curiosamente, el tiempo de espera para que se detenga la sesión de diagnóstico se incluye en el informe. Es como si el proceso de recopilación de datos no recibiera el mensaje de detener la grabación.
Usando el Monitor de recursos de Windows, noté que VsStandardCollector.exe escribe grandes cantidades de datos en una subcarpeta en "C:\Users\XXX\AppData\Local\Temp\". Alrededor de 9 Gigabytes en mi último intento, cubriendo 10 minutos en total, mientras que mi aplicación solo se ejecutó durante 30 segundos antes de que la detuviera.
¿Alguien tiene una idea de qué podría causar la demora en detener la sesión?
El uso de CPU y disco es muy bajo durante la espera (< 5 %)
Parece que si su proyecto consume más de 4 GB, el generador de perfiles estándar es extremadamente lento y, a veces, se bloquea por algún problema interno invisible desconocido. Me las arreglé para pasar por esto por los pasos a continuación
Recientemente aprendí sobre la herramienta PerfView que se usa para el análisis de rendimiento incluso dentro de Microsoft. Es mucho más económico que VisualStudio, de hecho es gratis.
Por lo tanto, puede usarlo para analizar el rendimiento de Visual Studio para responder a su pregunta o, mejor aún, usarlo para analizar el rendimiento de su propia aplicación WPF.