Cómo: Adjuntar el generador de perfiles a un servicio nativo para recopilar datos de simultaneidad 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 adjuntar el generador de perfiles a un servicio nativo (C/C++) y recopilar datos de simultaneidad de procesos y subprocesos utilizando el método de muestreo.
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 el generador de perfiles en un símbolo del sistema, 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.
Mientras el generador de perfiles está adjunto al servicio, puede pausar y reanudar la recolección de datos. Para finalizar una sesión de generación de perfiles, el generador de perfiles no debe estar ya adjunto al servicio y debe apagarse explícitamente.
Adjuntar el generador de perfiles
Para adjuntar el generador de perfiles a un servicio nativo, utilice las opciones /start y /attach de VSPerfCmd para inicializar el generador de perfiles y adjuntarlo a la aplicación de destino. Puede especificar /start y /attach y sus opciones respectivas en una línea de comandos única. 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, utilice /globalon para empezar a recopilar datos.
Para adjuntar el generador de perfiles a un servicio nativo
Si el servicio no se está ejecutando, inícielo.
Escriba la siguiente cadena en un símbolo del sistema para iniciar el generador de perfiles:
VSPerfCmd /start:concurrency[,{ResourceOnly|ThreadOnly}] **/output:**OutputFile [Options]
La opción /start inicializa el generador de perfiles.
En la tabla siguiente se describen los parámetros /start que se utilizan para especificar los datos de simultaneidad que se van a recopilar.
/start:concurrency
Habilita la recolección tanto de datos de contención de recursos como de ejecución de subprocesos.
/start:concurrency,resourceonly
Habilita únicamente la recolección de datos de contención de recursos.
/start:concurrency,threadonly
Habilita únicamente la recolección de datos de ejecución de subprocesos.
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 utilizar cualquier opción de la tabla siguiente con la opción /start .
Nota
La mayoría de los servicios requieren las opciones /user y /crosssession.
Opción
Descripción
/user:[Domain\]UserName
Especifica el dominio y el nombre de usuario opcionales de la cuenta a la que se va a conceder acceso al generador de perfiles.
Habilita la generación de perfiles de procesos en otros inicios de sesió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.
/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.
Adjunte el generador de perfiles al servicio escribiendo el comando siguiente en un símbolo del sistema:
**VSPerfCmd /attach:**PID
PID especifica el identificador o nombre de proceso de la aplicación de destino. Puede ver los identificadores de todos los procesos que se están ejecutando en el Administrador de tareas de Windows.
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 el archivo con 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 pares de opciones de la tabla siguiente 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 del proceso que especifica el identificador de proceso (PID).
/attach inicia la recopilación de datos para el proceso especificado por el identificador de proceso (PID) o por el nombre de proceso (ProcName). /detach detiene la recolección de datos para el proceso especificado o para todos los procesos si no se especifica uno.
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 que se muestran en las vistas de informes y datos del generador de perfiles.
Finalizar la sesión de generación de perfiles
Para finalizar la sesión de generación de perfiles, el generador de perfiles no debe estar recopilando datos. Puede detener la recolección de datos de un servicio nativo que se perfila con el método de simultaneidad deteniendo el servicio o invocando la opción VSPerfCmd /detach. Después invoque la opción VSPerfCmd /shutdown para desactivar el generador de perfiles y cerrar el archivo de datos de generación de perfiles.
Para finalizar una sesión de generación de perfiles
Desasocie el generador de perfiles de la aplicación de destino deteniendo el servicio o escribiendo el siguiente comando en un símbolo del sistema:
Escriba VSPerfCmd /detach
Apague el generador de perfiles escribiendo el siguiente comando en un símbolo del sistema:
VSPerfCmd /shutdown