Cómo: Adjuntar el generador de perfiles a un servicio nativo para recopilar datos de simultaneidad mediante la línea de comandosHow to: Attach the profiler to a native service to collect concurrency data by using the command line

En este artículo se describe cómo usar las herramientas de línea de comandos de las herramientas de generación de perfiles de Programa para la mejoraVisual Studio para adjuntar el generador de perfiles a un servicio nativo (C/C++) y recopilar datos de simultaneidad de procesos y subprocesos mediante el método de muestreo.This article describes how to use the Programa para la mejoraVisual Studio Profiling Tools command-line tools to attach the profiler to a native (C/C++) service and collect process and thread concurrency data by using the sampling method.

Nota

Las características de seguridad mejoradas en Windows 8 y Windows Server 2012 requirieron cambios significativos en la forma en que el generador de perfiles de Visual Studio recopila datos en estas plataformas.Enhanced security features in Windows 8 and Windows Server 2012 required significant changes in the way the Visual Studio profiler collects data on these platforms. Las aplicaciones para UWP también requieren nuevas técnicas de recopilación.UWP apps also require new collection techniques. Consulte Herramientas de rendimiento en aplicaciones de Windows 8 y Windows Server 2012.See Performance Tools on Windows 8 and Windows Server 2012 applications.

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.Command-line tools of the Profiling Tools are located in the \Team Tools\Performance Tools subdirectory of the Visual Studio installation directory. En equipos de 64 bits, están disponibles las dos versiones de las herramientas, la de 64 bits y la de 32 bits.On 64-bit computers, both 64-bit and 32-bit versions of the tools are available. 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 ventanaSímbolo del sistema o agregarla al propio comando.To use the profiler at a command prompt, you must add the tools path to the PATH environment variable of the Command Prompt window or to the command itself. Para obtener más información, vea Especificar la ruta de acceso a las herramientas de línea de comandos.For more information, see Specify the path to command line tools.

Mientras el generador de perfiles está adjunto al servicio, puede pausar y reanudar la recolección de datos.While the profiler is attached to the service, you can pause and resume data collection. Para finalizar una sesión de generación de perfiles, el generador de perfiles ya no debe estar conectado al servicio y se debe apagar de forma explícita.To end a profiling session, the profiler must no longer be attached to the service, and the Profiler must be explicitly shut down.

Anexión del generador de perfilesAttach the profiler

Para adjuntar el generador de perfiles a un servicio nativo, utilice las opciones VSPerfCmd/start y /attach para inicializar el generador de perfiles y adjuntarlo a la aplicación de destino.To attach the profiler to a native service, you use the VSPerfCmd/start and /attach options to initialize the profiler and attach it to the target application. Puede especificar /start y /attach y sus respectivas opciones en una línea de comandos única.You can specify /start and /attach and their respective options on a single command line. También puede agregar la opción /globaloff para pausar la recolección de datos en el inicio de la aplicación de destino.You can also add the /globaloff option to pause data collection at the start of the target application. Después, use /globalon para empezar a recopilar datos.You then use /globalon to begin to collect data.

Para adjuntar el generador de perfiles a un servicio nativoTo attach the profiler to a native service

  1. Si el servicio no se está ejecutando, inícielo.If the service is not running, start the service.

  2. Escriba la siguiente cadena en un símbolo del sistema para iniciar el generador de perfiles:Start the profiler by typing the following at a command prompt:

    VSPerfCmd /start:concurrency /output: OutputFile [Options]VSPerfCmd /start:concurrency /output: OutputFile [Options]

    • La opción /output:OutputFile es necesaria con /start.The /output:OutputFile option is required with /start. OutputFile especifica el nombre y la ubicación del archivo de datos de generación de perfiles (.vsp).OutputFile specifies the name and the location of the profiling data (.vsp) file.

      Puede utilizar cualquier opción de la tabla siguiente con la opción /start.You can use any option in the following table with the /start option.

    Nota

    La mayoría de los servicios requiere las opciones /user y /crosssession.Most services require the /user and /crosssession option.

    OpciónOption DescriptionDescription
    /user :[Domain\]UserName/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.Specifies the optional domain and user name of the account to be granted access to the profiler.
    /crosssession/crosssession Habilita la generación de perfiles de procesos en otros inicios de sesión.Enables profiling of processes in other logon sessions.
    /wincounter : WinCounterPath/wincounter : WinCounterPath Especifica un contador de rendimiento de Windows que se va a recopilar durante la generación de perfiles.Specifies a Windows performance counter to be collected during profiling.
    /automark : Interval/automark : Interval Utilizar solo con /wincounter.Use with /wincounter only. Especifica el número de milisegundos entre eventos de recopilación de contadores de rendimiento de Windows.Specifies the number of milliseconds between Windows performance counter collection events. El valor predeterminado es 500.The default value is 500.
    /events : Config/events : Config Especifica un evento de Seguimiento de eventos para Windows (ETW) que se va a recopilar durante la generación de perfiles.Specifies an Event Tracing for Windows (ETW) event to be collected during profiling. Los eventos ETW se recopilan en un archivo (.etl) independiente.ETW events are collected in a separate (.etl) file.
  3. Adjunte el generador de perfiles al servicio escribiendo el comando siguiente en un símbolo del sistema:Attach the profiler to the service by typing the following command at a command prompt:

    VSPerfCmd /attach: PIDVSPerfCmd /attach: PID

    PID especifica el identificador o nombre de proceso de la aplicación de destino.PID specifies the process ID or process name of the target application. Puede ver los identificadores de todos los procesos que se están ejecutando en el Administrador de tareas de Windows.You can view the process IDs of all running processes in Windows Task Manager.

Controlar la recopilación de datosControl data collection

Mientras se ejecuta la aplicación de destino, puede controlar la recolección de datos si inicia o detiene la escritura de los datos en el archivo con las opciones de VSPerfCmd.exe.While the target application is running, you can control data collection by starting and stopping the writing of data to the file with VSPerfCmd.exe options. 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.By controlling data collection, you can collect data for a specific part of program execution, such as the starting or shutting down of the application.

Para iniciar y detener la recolección de datosTo start and stop data collection

  • Los pares de opciones de la tabla siguiente inician y detienen la recolección de datos.The pairs of options in the following table start and stop data collection. Especifique cada opción en una línea de comandos diferente.Specify each option on a separate command line. Puede activar y desactivar la recolección de datos varias veces.You can turn data collection on and off multiple times.

    OpciónOption DescriptionDescription
    /globalon /globaloff/globalon /globaloff Inicia (/globalon) o detiene (/globaloff) la recolección de datos para todos los procesos.Starts (/globalon) or stops (/globaloff) data collection for all processes.
    /processon : PID /processoff : PID/processon : PID /processoff : PID Inicia (/processon) o detiene (/processoff) la recolección de datos para el proceso que especifica el identificador de proceso (PID).Starts (/processon) or stops (/processoff) data collection for the process that the process ID (PID) specifies.
    /attach :{PID|ProcName} /detach[:{PID|ProcName}]/attach :{PID|ProcName} /detach[:{PID|ProcName}] /attach inicia la recolección de datos para el proceso especificado por el identificador de proceso (PID) o por el nombre de proceso (ProcName)./attach starts to collect data for the process that the process ID (PID) or process name (ProcName) specifies. /detach detiene la recolección de datos para el proceso especificado o para todos los procesos si no se especifica uno./detach stops data collection for the specified process or for all processes if no process is specified.

Finalización de la sesión de generación de perfilesEnd the profiling session

Para finalizar la sesión de generación de perfiles, el generador de perfiles no debe estar recopilando datos.To end a profiling session, the profiler must not be collecting data. 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.You can stop collecting data from a native service that is being profiled with the concurrency method by stopping the service or by invoking the VSPerfCmd /detach option. 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.You then invoke the VSPerfCmd /shutdown option to turn off the profiler and close the profiling data file.

Para finalizar una sesión de generación de perfilesTo end a profiling session

  1. 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:Detach the profiler from the target application by stopping the service or by typing the following command at a command prompt:

    Escriba VSPerfCmd /detachType VSPerfCmd /detach

  2. Apague el generador de perfiles escribiendo el siguiente comando en un símbolo del sistema:Shut down the profiler by typing the following command at a command prompt:

    VSPerfCmd /shutdownVSPerfCmd /shutdown