Cómo: Iniciar una aplicación de .NET Framework independiente con el generador de perfiles para recopilar datos de memoria utilizando la línea de comandos
En este tema se describe cómo utilizar las herramientas de línea de comandos de las herramientas de generación de perfiles de Visual Studio para iniciar una aplicación independiente (cliente) de .NET Framework y recopilar datos de memoria.
Una sesión de generación de perfiles tiene tres partes:
Iniciar la aplicación mediante el generador de perfiles.
Recopilar datos de generación de perfiles.
Finalizar la sesión de generación 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.
Iniciar la aplicación con el generador de perfiles
Para iniciar una aplicación de destino con el generador de perfiles, utilice las opciones /start y /launch de VSPerfCmd.exe para inicializar el generador de perfiles e iniciar la aplicación. Puede especificar /start y /launch y sus opciones respectivas en una línea de comandos.
También puede agregar la opción /globaloff para pausar la recolección de datos en el inicio de la aplicación de destino. A continuación, use /globalon para empezar a recopilar datos.
Para iniciar una aplicación mediante el generador de perfiles
Abra una ventana de símbolo del sistema.
Inicie el generador de perfiles. Escriba:
**VSPerfCmd /start:sample /output:**OutputFile [Options]
La opción /start:sample 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:sample.
Opción
Descripción
/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.
Inicie la aplicación de destino. Escriba:
VSPerfCmd /launch**:**appName /gc:{allocation|lifetime}[Options]
Para recopilar datos de memoria de .NET Framework se necesita la opción /gc**:**Keyword. El parámetro de palabra clave especifica si se recopilan datos de asignación de memoria o si se recopilan datos de asignación de memoria y de duración de objeto.
Palabra clave
Descripción
allocation
Solamente recopila datos de asignación de memoria.
lifetime
Recopila datos de asignación de memoria y datos de duración de objetos.
Puede usar cualquiera de las siguientes opciones con la opción /launch.
Opción
Descripción
/args:Arguments
Especifica una cadena que contiene los argumentos de la línea de comandos que se van a pasar a la aplicación de destino.
Inicia la aplicación de línea de comandos de destino en otra ventana.
/events: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.
/targetclr:Version
Especifica la versión de Common Language Runtime (CLR) para generar perfiles cuando se carga más de una versión del runtime en una aplicación.
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 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).
/attach inicia la recolección de datos para el proceso especificado por PID (identificador del proceso). /detach detiene la recolección de datos para todos los procesos.
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 de generación de perfiles, el generador de perfiles se debe desasociar de todos los procesos perfilados y se debe apagar explícitamente. Puede desasociar el generador de perfiles de una aplicación cuyo perfil se ha generado mediante el método de muestreo, el cierre de la aplicación o una llamada al método VSPerfCmd /detach. Después debe llamar 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
Realice uno de los pasos siguientes para desasociar el generador de perfiles de la aplicación de destino:
Cierre la aplicación de destino.
O bien
Escriba VSPerfCmd /detach
Apague el generador de perfiles. Escriba:
VSPerfCmd /shutdown
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