Cómo: Instrumentar un componente nativo independiente y recopilar datos de control de tiempo con el generador de perfiles desde la línea de comandosHow to: Instrument a Native Stand-Alone Component and Collect Timing Data with the Profiler from the Command Line

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 StudioVisual Studio para instrumentar un componente nativo, tal como un archivo .exe o .dll de C++ y para recopilar datos detallados de control de tiempo.This topic describes how to use Visual StudioVisual Studio Profiling Tools command-line tools to instrument a native component such as a C++ .exe or .dll file, and to collect detailed timing data.

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 StudioVisual Studio.Command-line tools of the Profiling Tools are located in the \Team Tools\Performance Tools subdirectory of the Visual StudioVisual 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 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.To use the profiler command-line tools, you must add the tools path to the PATH environment variable of the Command Prompt window or add it to the command itself. Para obtener más información, consulte Especificar la ruta de acceso a las herramientas de línea de comandos.For more information, see Specifying the Path to Command Line Tools.

Para recopilar datos detallados de intervalos de un componente con el método de instrumentación, use la herramienta VSInstr.exe para generar una versión instrumentada del componente.To collect detailed timing data from a component by using the instrumentation method, you use the VSInstr.exe tool to generate an instrumented version of the component. A continuación, inicie el generador de perfiles.You then start the profiler. Cuando se ejecute el componente instrumentado, los datos de tiempo se recopilarán inmediatamente en un archivo de datos.When the instrumented component is executed, timing data is automatically collected to a data file. Puede pausar y reanudar la recolección de datos durante la sesión de generación de perfiles.You can pause and resume data collection during the profiling session.

Para finalizar una sesión de generación de perfiles, cierre la aplicación de destino y apague explícitamente el generador de perfiles.To end a profiling session, you close the target application and then explicitly shut down the profiler.

Iniciar la sesión de generación de perfilesStarting the Profiling Session

Para iniciar la generación de perfiles utilizando el método de instrumentaciónTo start profiling by using the instrumentation method

  1. Abra una ventana de símbolo del sistema.Open a Command Prompt window.

  2. Utilice la herramienta VSInstr para generar una versión instrumentada de la aplicación de destino.Use the VSInstr tool to generate an instrumented version of the target application.

  3. Inicie el generador de perfiles.Start the profiler. Tipo:Type:

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

    • La opción /start:trace inicializa el generador de perfiles.The /start:trace option initializes the profiler.

    • 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 location of the profiling data (.vsp) file.

      Puede usar una o varias de las opciones siguientes con la opción /start:trace.You can use one or more of the following options with the /start:trace option.

    OpciónOption DescriptionDescription
    /user :[Domain\]UserName/user :[Domain\]UserName Especifica el dominio y el nombre de usuario de la cuenta propietaria del proceso para el que se han generado perfiles.Specifies the domain and user name of the account that owns the profiled process. Esta opción solamente es necesaria si el proceso se está ejecutando como otro usuario distinto del usuario que inició sesión.This option is required only if the process is running as a user other than the logged-on user. El propietario del proceso se muestra en la columna Nombre de usuario de la pestaña Procesos del Administrador de tareas de Windows.The process owner is listed in the User Name column on the Processes tab of Windows Task Manager.
    /crosssession/crosssession Habilita la generación de perfiles de procesos en otras sesiones.Enables profiling of processes in other sessions. Esta opción es necesaria si la aplicación se ejecuta en una sesión diferente.This option is required if the application is running in a different session. 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.The session idenitifier is listed in the Session ID column on the Processes tab of Windows Task Manager. /CS se puede especificar como una abreviatura de /crosssession./CS can be specified as an abbreviation for /crosssession.
    /globaloff/globaloff Inicia el generador de perfiles con la recolección de datos en pausa.Starts the profiler with data collection paused. Utilice /globalon para reanudar la generación de perfiles.Use /globalon to resume profiling.
    /counter : Config/counter : Config Recopila información del contador de rendimiento del procesador especificado en Config.Collects information from the processor performance counter that is specified in Config. La información del contador se agrega a los datos recopilados en cada evento de generación de perfiles.Counter information is added to the data that is collected at each profiling event.
    /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 ms.Default is 500 ms.
    /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.
  4. Inicie la aplicación de destino de la manera habitual.Start the target application in the typical way.

Controlar la recolección de datosControlling Data Collection

Cuando 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.When the target application is running, you can control data collection by starting and stopping the writing of data to the file by using 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.Controlling data collection enables you to collect data for a specific part of program execution, such as starting or shutting down the application.

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

  • Los siguientes pares de opciones inician y detienen la recolección de datos.The following pairs of options 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 especificado por el identificador de proceso (PID).Starts (/processon) or stops (/processoff) data collection for the process that is specified by the process ID (PID).
    /threadon : TID /threadoff : TID/threadon : TID /threadoff : TID Inicia (/threadon) o detiene (/threadoff) la recolección de datos para el proceso especificado por el identificador de subproceso (TID).Starts (/threadon) or stops (/threadoff) data collection for the thread that is specified by the thread ID (TID).

Finalizar la sesión de generación de perfilesEnding the Profiling Session

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 /shutdown de VSPerfCmd para desactivar el generador de perfiles y cerrar el archivo de datos de generación de perfiles.To end a profiling session, close the application that is running the instrumented component, and then call 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. Cierre la aplicación de destino.Close the target application.

  2. Cierre el generador de perfiles.Shut down the profiler. Tipo:Type:

    VSPerfCmd /shutdownVSPerfCmd /shutdown

Vea tambiénSee Also

Generar perfiles para aplicaciones independientes Profiling Stand-Alone Applications
Vistas de datos del método de instrumentaciónInstrumentation Method Data Views