Procédure : Instrumenter un composant .NET Framework autonome et collecter les données de temporisation avec le profileur à partir de la ligne de commandeHow to: Instrument a stand-alone .NET Framework 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 .NET Framework, par exemple un fichier .exe ou .dll, et collecter des données de temporisation détaillées.This topic describes how to use Visual StudioVisual Studio Profiling Tools command-line tools to instrument a .NET Framework component such as an .exe or .dll file, and to collect detailed timing data.

Note

Les fonctionnalités de sécurité renforcée de Windows 8 et Windows Server 2012 ont imposé des changements importants dans la façon dont le profileur Visual Studio collecte les données sur ces plateformes.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. Les applications UWP nécessitent aussi de nouvelles techniques de collecte.UWP apps also require new collection techniques. Consultez Outils d’analyse des performances sur les applications Windows 8 et Windows Server 2012.See Performance Tools on Windows 8 and Windows Server 2012 applications.

Pour obtenir le chemin d’accès des outils de profilage, voir Spécifier le chemin d’accès des outils en ligne de commande.To get the path to the profiling tools, see Specify the path to command line tools. 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 ajouter des données d’interaction de couche à une exécution de profilage, vous devez utiliser des procédures spécifiques avec les outils de profilage en ligne de commande.Adding tier interaction data to a profiling run requires specific procedures with the command line profiling tools. Consultez Collecter les données d’interaction de couche.See Collect tier interaction data.

Pour collecter les données de temporisation détaillées d’un composant .NET Framework à l’aide de la méthode d’instrumentation, utilisez l’outil VSInstr.exe afin de générer une version instrumentée du composant, et l’outil VSPerfCLREnv.cmd pour initialiser les variables d’environnement de profilage.To collect detailed timing data from a .NET Framework component by using the instrumentation method, you use the VSInstr.exe tool to generate an instrumented version of the component and the VSPerfCLREnv.cmd tool to initialize profiling environment variables. 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 et arrêtez explicitement le profileur.To end a profiling session, you close the target application and explicitly shut down the profiler. Dans la plupart des cas, nous vous recommandons de désactiver les variables d’environnement de profilage à la fin d’une session.In most cases, we recommend clearing the profiling environment variables at the end of a session.

Démarrer la session de profilageStart 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. Si nécessaire, ajoutez le répertoire des outils de Profiler à votre variable d’environnement PATH.If necessary, add the profiler tools directory to your PATH environment variable. Le chemin n’est pas ajouté au moment de l’installation.The path is not added at installation.

  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. Initialisez les variables d’environnement de profilage .NET Framework.Initialize the .NET Framework profiling environment variables. Type :Type:

    VSPerfClrEnv /traceonVSPerfClrEnv /traceon

  4. 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 des options suivantes avec l’option /start:trace.You can use any one 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 de processus est listé dans la colonne Nom d’utilisateur, sous l’onglet Processus du Gestionnaire des tâches 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 ASP.NET s’exécute dans une autre session.This option is required if the ASP.NET 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 (.etl) distinct.ETW events are collected in a separate (.etl) file.
  5. Démarrez l’application cible dans la fenêtre d’invite de commandes.Start the target application from the Command Prompt window.

Contrôler la collecte des donnéesControl 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 de données du profileur à 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 profiler data 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 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 specified by the thread ID (TID).

Arrêter la session de profilageEnd the profiling session

Pour mettre fin à une session de profilage, fermez l’application qui exécute le composant instrumenté.To end a profiling session, close the application that is running the instrumented component. Appelez l’option VSPerfCmd /shutdown pour désactiver le profileur et fermer le fichier de données de profilage.Call the VSPerfCmd /shutdown option to turn off the profiler and close the profiling data file. La commande VSPerfClrEnv /off efface les variables d’environnement de profilage.The VSPerfClrEnv /off command clears the profiling environment variables.

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

  3. (Facultatif) Effacez les variables d’environnement de profilage.(Optional) Clear the profiling environment variables. Type :Type:

    VSPerfClrEnv /offVSPerfClrEnv /off

Voir aussiSee also