Comment : instrumenter un composant autonome natif et collecter des données de temporisation avec le profileur à partir de la ligne de commandeHow to: Instrument a Native Stand-Alone Component and Collect Timing Data with the Profiler from the Command Line

Cette rubrique explique comment utiliser les outils en ligne de commande des Outils de profilage Visual StudioVisual Studio pour instrumenter un composant natif comme un fichier .exe ou .dll C++, et pour collecter des données chronologiques détaillées.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.

Note

Les outils en ligne de commande des outils de profilage se trouvent dans le sous-répertoire \Team Tools\Performance Tools du répertoire d’installation 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. Les versions 64 bits et 32 bits des outils sont disponibles sur les ordinateurs 64 bits.On 64-bit computers, both 64-bit and 32-bit versions of the tools are available. Pour utiliser les outils en ligne de commande du profileur, vous devez ajouter le chemin des outils à la variable d’environnement PATH dans la fenêtre d’invite de commandes, ou l’ajouter à la commande.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. Pour plus d’informations, consultez Spécification du chemin d’accès aux outils en ligne de commande.For more information, see Specifying the Path to Command Line Tools.

Pour collecter des données chronologiques détaillées à partir d’un composant avec la méthode d’instrumentation, vous utilisez l’outil VSInstr.exe pour générer une version instrumentée du composant.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. Vous démarrez ensuite le profileur.You then start the profiler. Quand le composant instrumenté est exécuté, les données chronologiques sont collectées automatiquement dans un fichier de données.When the instrumented component is executed, timing data is automatically collected to a data file. Vous pouvez suspendre et reprendre la collecte des données pendant la session de profilage.You can pause and resume data collection during the profiling session.

Pour mettre fin à une session de profilage, fermez l’application cible, puis arrêtez explicitement le profileur.To end a profiling session, you close the target application and then explicitly shut down the profiler.

Démarrage de la session de profilageStarting the Profiling Session

Pour démarrer le profilage avec la méthode d’instrumentationTo start profiling by using the instrumentation method

  1. Ouvrez une fenêtre Invite de commandes.Open a Command Prompt window.

  2. Utilisez l’outil VSInstr pour générer une version instrumentée de l’application cible.Use the VSInstr tool to generate an instrumented version of the target application.

  3. Démarrez le profileur.Start the profiler. Type :Type:

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

    • L’option /start:trace initialise le profileur.The /start:trace option initializes the profiler.

    • L’option /output:OutputFile est nécessaire avec /start.The /output:OutputFile option is required with /start. OutputFile spécifie le nom et l’emplacement du fichier de données profilage (.vsp).OutputFile specifies the name and location of the profiling data (.vsp) file.

      Vous pouvez utiliser une ou plusieurs des options suivantes avec l’option /start:trace.You can use one or more of the following options with the /start:trace option.

    OptionOption DescriptionDescription
    /user :[Domain\]UserName/user :[Domain\]UserName Spécifie le nom de domaine et d’utilisateur du compte propriétaire du processus profilé.Specifies the domain and user name of the account that owns the profiled process. Cette option n’est nécessaire que si le processus s’exécute sous le compte d’un utilisateur autre que celui connecté.This option is required only if the process is running as a user other than the logged-on user. Le propriétaire du processus est répertorié dans la colonne Nom d’utilisateur, sous l’onglet Processus du gestionnaire des tâches de Windows.The process owner is listed in the User Name column on the Processes tab of Windows Task Manager.
    /crosssession/crosssession Active le profilage des processus dans d’autres sessions.Enables profiling of processes in other sessions. Cette option est nécessaire si l’application s’exécute dans une autre session.This option is required if the application is running in a different session. L’identificateur de session est répertorié dans la colonne ID de session, sous l’onglet Processus du gestionnaire des tâches de Windows.The session idenitifier is listed in the Session ID column on the Processes tab of Windows Task Manager. /CS peut être spécifié comme abréviation de /crosssession./CS can be specified as an abbreviation for /crosssession.
    /globaloff/globaloff Démarre le profileur avec la collecte de données suspendue.Starts the profiler with data collection paused. Utilisez /globalon pour reprendre le profilage.Use /globalon to resume profiling.
    /counter : Config/counter : Config Collecte des informations à partir du compteur de performances du processeur spécifié dans Config.Collects information from the processor performance counter that is specified in Config. Les informations du compteur sont ajoutées aux données collectées à chaque événement de profilage.Counter information is added to the data that is collected at each profiling event.
    /wincounter : WinCounterPath/wincounter : WinCounterPath Spécifie le compteur de performances Windows dont les données doivent être collectées au cours du profilage.Specifies a Windows performance counter to be collected during profiling.
    /automark : Interval/automark : Interval À utiliser avec /wincounter uniquement.Use with /wincounter only. Spécifie le nombre de millisecondes écoulées entre les événements de collecte du compteur de performances Windows.Specifies the number of milliseconds between Windows performance counter collection events. La valeur par défaut est de 500 ms.Default is 500 ms.
    /events : Config/events : Config Spécifie l’événement du Suivi d’événements pour Windows (ETW) qui doit être collecté au cours du profilage.Specifies an Event Tracing for Windows (ETW) event to be collected during profiling. Les événements ETW sont collectés dans un fichier séparé (.etl).ETW events are collected in a separate (.etl) file.
  4. Démarrez l’application cible de manière habituelle.Start the target application in the typical way.

Contrôle de la collection de donnéesControlling Data Collection

Pendant l’exécution de l’application cible, vous pouvez contrôler la collecte des données en démarrant et en arrêtant l’écriture des données dans le fichier à l’aide des options 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. Le fait de pouvoir contrôler la collecte vous permet de collecter des données pour une phase spécifique de l’exécution du programme, telle que le démarrage ou l’arrêt de l’application.Controlling data collection enables you to collect data for a specific part of program execution, such as starting or shutting down the application.

Pour démarrer et arrêter la collecte de donnéesTo start and stop data collection

  • Les paires d’options suivantes permettent de démarrer et d’arrêter la collecte des données.The following pairs of options start and stop data collection. Spécifiez chaque option sur une ligne de commande distincte.Specify each option on a separate command line. Vous pouvez activer et désactiver la collecte de données à plusieurs reprises.You can turn data collection on and off multiple times.

    OptionOption DescriptionDescription
    /globalon /globaloff/globalon /globaloff Démarre (/globalon) ou arrête (/globaloff) la collecte des données pour tous les processus.Starts (/globalon) or stops (/globaloff) data collection for all processes.
    /processon : PID /processoff : PID/processon : PID /processoff : PID Démarre (/processon) ou arrête (/processoff) la collecte des données pour le processus spécifié par l’ID de processus (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 Démarre (/threadon) ou arrête (/threadoff) la collecte des données pour le thread spécifié par l’ID de thread (TID).Starts (/threadon) or stops (/threadoff) data collection for the thread that is specified by the thread ID (TID).

Fin d’une session de profilageEnding the Profiling Session

Pour mettre fin à une session de profilage, fermez l’application qui exécute le composant instrumenté, puis appelez l’option /shutdown de VSPerfCmd pour désactiver le profileur et fermer le fichier de données de profilage.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.

Pour terminer une session de profilageTo end a profiling session

  1. Fermez l’application cible.Close the target application.

  2. Fermez le profileur.Shut down the profiler. Type :Type:

    VSPerfCmd /shutdownVSPerfCmd /shutdown

Voir aussiSee Also

Profilage d’applications autonomes Profiling Stand-Alone Applications
Vues de données de la méthode d’instrumentationInstrumentation Method Data Views