Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporcionan soluciones para algunos de los errores más comunes que pueden impedir el uso o obtención de datos suficientes del Generador de perfiles de rendimiento en Visual Studio.
Sin resultados
Error: "No hay datos en el conjunto actual de filtros"
Al abrir un archivo de diagsession , se aplican determinados filtros, como ocultar código nativo o ocultar código que no es de usuario para facilitar la comprensión del seguimiento. Además, hay otros filtros que se pueden aplicar, como la selección de tiempo y el subproceso, que reducen aún más los datos mostrados. Si estos filtros se aplican de forma que no quede ningún dato que se muestre, verá esta advertencia.
Corrección
- Asegúrese de que la selección de tiempo tiene datos en ella. Si cambió la selección de tiempo en el gráfico encima de los datos, seleccione Borrar selección para restablecerla.
- A continuación, si todavía no hay datos, asegúrese de que todas las categorías y subprocesos estén habilitadas en sus respectivos menús desplegables.
- Si la aplicación que va a generar perfiles es código nativo, asegúrese de habilitar la opción Mostrar código nativo en la lista desplegable Configuración .
- Si aún no tiene datos, es probable que el seguimiento que recopiló sea demasiado corto para que los datos estén presentes. Asegúrese de que el programa para el que está recopilando datos no se completa demasiado rápido (menos de un segundo).
Vea también: Mostrar código externo
Tarda mucho tiempo en completarse los resultados
Si el análisis del montón después de la recopilación parece lento de carga, consulte las siguientes soluciones posibles que pueden ayudar a resolver problemas de tiempo de espera.
Corrección A veces, puede tardar más tiempo al intentar analizar instantáneas de aplicaciones que consumen mucha memoria, pero la actualización a una versión más reciente de Visual Studio debe reducir el tiempo de espera del análisis. Si este problema es persistente después de la actualización, puede haber un error de rendimiento en la herramienta. Cree un vale de comentarios y comparta el archivo de diagsession que se creó. Con el archivo, podemos determinar por qué los datos son lentos de analizar y encontrar dónde podemos realizar mejoras en el rendimiento.
Asegúrese de proporcionar un seguimiento y archivos de volcado de montón en el vale de comentarios.
Consulte también:
Error "No se pudo crear un archivo de manifiesto para esta diagsession" o "error no se pudo crear el archivo de manifiesto para la diagsession, Visual Studio no podrá volver a abrir esta sesión".
Este problema significa que se produjo un problema al preparar los datos de instantánea de memoria que se van a analizar y mostrar después de detener la recopilación de datos. Hay varias causas posibles de que aparezca el problema, desde un error para obtener la información correcta de los agentes de recopilación al procesamiento de datos real. Por lo tanto, no será posible diagnosticar lo que el problema es sin registro adicional.
Corrección Responda a su incidencia de comentarios con información de registro adicional para que podamos diagnosticar el problema. Para obtener la información de registro, ejecute los siguientes comandos desde un símbolo del sistema con privilegios elevados:
reg add HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\DiagnosticsHub /v LogLevel /t REG_SZ /d All /reg:32
reg add HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\DiagnosticsHub /v LogDirectory /t REG_SZ /d [directory of your choice] /reg:32
Después de ejecutar estos comandos, inicie Visual Studio, reproduzca el escenario, cierre Visual Studio y, a continuación, comprima el directorio de registro de DiagnosticsHub elegido y adjunte a este vale. Desde ese punto, deberíamos poder diagnosticar mejor lo que está sucediendo.
Después de agregar el registro al vale, ejecute estos comandos para deshabilitar el registro:
reg delete HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\DiagnosticsHub /f /v LogLevel /reg:32
reg delete HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\DiagnosticsHub /f /v LogDirectory /reg:32
Error: "Información de origen no disponible".
Para ver la información de origen, debe tener archivos PDF disponibles desde el momento de la recopilación. Por lo tanto, por ejemplo, si recopila un archivo de diagsession de uso de CPU, realice algunos cambios en el código, vuelva a compilar (que reemplaza al PBD anterior), vuelva a abrir la .diagsession , probablemente no podrá ver información de origen para los módulos del código que actualizó.
Corrección La solución más sencilla para este problema es recopilar una nueva diagsession después de realizar cambios. De este modo, puede asegurarse de que los archivos PDF están actualizados.
Error: "Error de análisis de memoria debido a un error interno".
Después de una sesión de generación de perfiles de memoria larga, cualquier intento de analizar el resultado se cumple con el error.
Hubo un error de coincidencia entre la información de instantánea capturada por la herramienta de memoria y la del agente de recopilación. Este resultado significa que la herramienta de memoria no pudo encontrar el archivo de estado del montón para una instantánea nativa. O bien, este resultado la herramienta de memoria no pudo coincidir con la hora de inicio de GC de la instantánea con la registrada en el archivo de diagsession para recuperar gcStats.
Corrección Este problema se debe a un error en la herramienta que se corrigió en la versión 17.3 de Visual Studio 2022. La actualización a una versión posterior debe resolver el problema. Si el problema sigue siendo persistente después de la actualización, cree un vale de comentarios y adjunte al vale:
- El archivo de diagsession
- Minivolcado de Visual Studio
- Captura de pantalla de las instantáneas de memoria tomadas.
No hay ninguna solución alternativa para este problema y la sesión de generación de perfiles tendrá que reiniciarse.
Error: "X eventos de diagnóstico eliminados, puede que falte información en el informe o que no sea correcta"
A veces durante la captura de datos, se pueden quitar eventos que pueden hacer que el informe de generación de perfiles resultante sea inexacto o no se pueda usar. Los eventos eliminados pueden ocurrir por muchas razones diferentes, pero principalmente se produce cuando el sistema no puede vaciar los eventos en el disco más rápido que la velocidad de entrada.
Corrección Para ayudar a reducir los eventos eliminados, puede cerrar otras operaciones de uso intensivo de disco y CPU durante la generación de perfiles. Al cerrar estas operaciones, el sistema puede dedicar más recursos a vaciar los eventos entrantes. También puede intentar reducir las frecuencias de muestreo en las herramientas que admiten estas opciones de configuración, como la herramienta Uso de CPU y la herramienta de asignación de .NET y, por lo tanto, reducir la sobrecarga.
Error: se han agotado los recursos etw
El generador de perfiles de Visual Studio usa el seguimiento de eventos para Windows (ETW) para recopilar su información de rendimiento. Hay un número finito de sesiones ETW disponibles para su uso en un sistema y si todas las sesiones ya están en uso, obtendrá el siguiente error: ETW resources have been exhausted. Estas sesiones las usan otros programas, como el conjunto de herramientas SysInternals, otros generadores de perfiles y otras herramientas de diagnóstico. Puede resolver este problema:
Cierre de los programas que usan las sesiones para liberar recursos o
Para dejar de lado más recursos, ejecute lo siguiente desde un símbolo del sistema con privilegios elevados y, a continuación, reinicie:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI" /v EtwMaxLoggers /t REG_DWORD /d 128La ejecución de este comando aumenta el número predeterminado de sesiones de 64 a 128 (256 es el número máximo de sesiones permitidas en un sistema).
Error: la herramienta Uso de CPU no funciona en una máquina virtual ARM64
El generador de perfiles de Visual Studio usa el seguimiento de eventos para Windows (ETW) para recopilar su información de rendimiento. Actualmente, la recopilación de ejemplos de perfiles mediante ETW no se admite en Windows para ARM64 cuando se ejecuta en una máquina virtual (VM). Para solucionar esta limitación, puede usar la herramienta Uso de CPU en un dispositivo ARM64 real o usar la herramienta instrumentación para capturar información de tiempo.
Error: La herramienta Uso de memoria no funciona en .NET 7 y .NET Runtime 8.0.0-8.0.1 con gc del servidor habilitado
Debido a un problema introducido con el entorno de ejecución de .NET 7 y propagado a las versiones 8.0.0 y 8.0.1 de .NET 8, no es posible enumerar objetos cuando se usa la recolección de elementos no utilizados del servidor. La recolección de elementos no utilizados del servidor está habilitada de forma predeterminada para las aplicaciones de ASP.NET Core.
Corrección
Para evitar este problema:
- Deshabilite la recolección de elementos no utilizados del servidor al tomar una instantánea o recopilar un volcado de memoria de la aplicación.
- Use una versión no afectada del entorno de ejecución de .NET.
Consulte también:
- Recolección de elementos no utilizados de estación de trabajo y servidor
- Opciones de configuración en tiempo de ejecución para la recolección de elementos no utilizados
- La DAC no puede enumerar objetos de montón en .NET 7+ debido a regiones de GC