Cómo: Instrumentar un componente de .NET Framework independiente y recopilar datos de memoria con el generador de perfiles utilizando la línea de comandos
En este tema se describe cómo utilizar las herramientas de la línea de comandos de las herramientas de generación de perfiles de Visual Studio para instrumentar un componente .NET Framework de una aplicación independiente como un archivo .exe o .dll y recopilar información de la memoria utilizando el generador de perfiles.
[!NOTA]
Las herramientas de línea de comandos de las herramientas de generación de perfiles se encuentran en el subdirectorio \Team Tools\Performance Tools del directorio de instalación de Visual Studio.En equipos de 64 bits, están disponibles las dos versiones de las herramientas, la de 64 bits y la de 32 bits.Para utilizar las herramientas de línea de comandos del generador de perfiles, debe agregar la ruta de acceso de las herramientas a la variable de entorno PATH de la ventana Símbolo del sistema o agregarla al propio comando.Para obtener más información, vea Especificar la ruta de acceso a las herramientas de línea de comandos de Herramientas de generación de perfiles.
Para recopilar datos de memoria de un componente .NET Framework utilizando el método de instrumentación, utilice la herramienta VSInstr.exe para compilar una versión instrumentada del componente y la herramienta VSPerfCLREnv.cmd para inicializar las variables de entorno de generación de perfiles.A continuación, inicie el generador de perfiles utilizando la herramienta VSPerfCmd.exe.
Cuando se ejecute el componente instrumentado, los datos de memoria se recopilarán inmediatamente en un archivo de datos.Puede pausar y reanudar la recolección de datos durante la sesión de generación de perfiles.
Para finalizar una sesión de generación de perfiles, cierre la aplicación de destino y cierre explícitamente el generador de perfiles.En la mayoría de los casos, recomendamos borrar las variables de entorno de generación de perfiles al final de una sesión.
Iniciar la aplicación con el generador de perfiles
Para adjuntar el generador de perfiles a una aplicación de .NET Framework que se esté ejecutando
Abra una ventana de símbolo del sistema.
Utilice la herramienta VSInstr para generar una versión instrumentada de la aplicación de destino.
Inicialice las variables de entorno de generación de perfiles de .NET Framework.Tipo:
VSPerfClrEnv {/tracegc | /tracegclife}
Las opciones /tracegc y /tracegclife inicializan las variables de entorno para recopilar solamente datos de asignación de memoria o recopilar tanto datos de asignación de memoria como datos de duración de objetos.
Opción
Descripción
/tracegc
Habilita la recopilación exclusiva de datos de asignación de memoria.
/tracegclife
Habilita la recopilación tanto de datos de asignación de memoria como de datos de duración de objetos.
Inicie el generador de perfiles.Tipo:
**VSPerfCmd /start:trace /output:**OutputFile [Options]
La opción /start:trace inicializa el generador de perfiles.
La opción /output**:**OutputFile es necesaria con /start.OutputFile especifica el nombre y la ubicación del archivo de datos de generación de perfiles (.vsp).
Puede usar cualquiera de las siguientes opciones con la opción /start:trace.
Opción
Descripción
/user:[Domain\]UserName
Especifica el dominio y el nombre de usuario de la cuenta propietaria del proceso para el que se han generado perfiles.Esta opción solamente es necesaria si el proceso se está ejecutando como otro usuario distinto del usuario que inició sesión.El propietario del proceso se muestra en la columna Nombre de usuario de la pestaña Procesos del Administrador de tareas de Windows.
Habilita la generación de perfiles de procesos en otras sesiones.Esta opción es necesaria si la aplicación se ejecuta en una sesión diferente.El identificador de sesión se muestra en la columna Id. de sesión de la pestaña Procesos del Administrador de tareas de Windows./CS se puede especificar como una abreviatura de /crosssession.
Para iniciar el generador de perfiles con la recolección de datos en pausa, agregue la opción /globaloff a la línea de comandos /start.Utilice /globalon para reanudar la generación de perfiles.
/wincounter:WinCounterPath
Especifica un contador de rendimiento de Windows que se va a recopilar durante la generación de perfiles.
/automark:Interval
Se utiliza únicamente con /wincounter.Especifica el número de milisegundos entre eventos de recopilación de contadores de rendimiento de Windows.El valor predeterminado es 500 ms.
/counter:Config
Recopila información del contador de rendimiento del procesador especificado en Config.La información del contador se agrega a los datos recopilados en cada evento de generación de perfiles.
eventos:Config
Especifica un evento de Seguimiento de eventos para Windows (ETW) que se va a recopilar durante la generación de perfiles.Los eventos ETW se recopilan en un archivo (.etl) independiente.
Inicie la aplicación de destino desde la ventana del símbolo del sistema.
Controlar la recolección de datos
Mientras se ejecuta la aplicación de destino, puede controlar la recolección de datos iniciando o deteniendo la escritura de los datos en un archivo mediante el uso de las opciones de VSPerfCmd.exe.Al controlar la recolección de datos, puede recopilar datos de una parte específica de la ejecución de un programa, como por ejemplo el inicio o el cierre de una aplicación.
Para iniciar y detener la recolección de datos
Los siguientes pares de opciones de VSPerfCmd inician y detienen la recolección de datos.Especifique cada opción en una línea de comandos diferente.Puede activar y desactivar la recolección de datos varias veces.
Opción
Descripción
Inicia (/globalon) o detiene (/globaloff) la recolección de datos de todos los procesos.
/processon:PID/processoff:PID
Inicia (/processon) o detiene (/processoff) la recolección de datos para el proceso especificado por el identificador de proceso (PID).
/threadon:TID/threadoff:TID
Inicia (/threadon) o detiene (/threadoff) la recolección de datos del subproceso especificado por el identificador del subproceso (TID).
También puede usar la opción VSPerfCmd.exe/mark para insertar una marca de generación de perfiles en el archivo de datos.El comando /mark agrega un identificador, una marca de tiempo y una cadena de texto opcional definida por el usuario.Las marcas se pueden utilizar para filtrar los datos.
Finalizar la sesión de generación de perfiles
Para finalizar una sesión generación de perfiles, cierre la aplicación que está ejecutando el componente instrumentado y, a continuación, llame a la opción VSPerfCmd /shutdown para desactivar el generador de perfiles y cerrar el archivo de datos de generación de perfiles.El comando VSPerfClrEnv /off borra las variables de entorno de generación de perfiles.
Para finalizar una sesión de generación de perfiles
Cierre la aplicación de destino.
Apague el generador de perfiles.Tipo:
VSPerfCmd /shutdown
(Opcional) Borre las variables del entorno de generación de perfiles.Tipo:
VSPerfCmd /off
Vea también
Conceptos
Generación de perfiles de aplicaciones independientes en la línea de comandos
Otros recursos
Vistas de datos de memoria de .NET de las herramientas de generación de perfiles