Partager via


Comment : lancer une application .NET Framework autonome avec le profileur pour collecter des données de mémoire en utilisant la ligne de commande

Cette rubrique décrit comment utiliser les outils en ligne de commande des outils de profilage Visual Studio pour démarrer une application autonome (cliente) du .NET Framework et collecter les données de la mémoire.

Une session de profilage se compose de trois parties :

  • démarrage de l'application à l'aide du profileur ;

  • collecte des données de profilage ;

  • fin de la session de profilage.

Notes

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 Studio. Sur les ordinateurs 64 bits, les versions 64 bits et 32 bits de ces outils sont disponibles. Pour utiliser les outils en ligne de commande du profileur, vous devez ajouter le chemin d'accès des outils à la variable d'environnement PATH de la fenêtre Invite de commandes ou l'ajouter à la commande elle-même. Pour plus d'informations, consultez Spécification du chemin d'accès aux outils en ligne de commande des outils de profilage.

Démarrage de l'application avec le profileur

Pour lancer une application cible avec le profileur, vous utilisez les options VSPerfCmd.exe /start et /launch pour initialiser le profileur et démarrer l'application. Vous pouvez spécifier /start et /launch et leurs options respectives sur une ligne de commande.

Vous pouvez également ajouter l'option /globaloff pour suspendre la collecte de données au démarrage de l'application cible. Vous utilisez alors /globalon pour commencer à collecter des données.

Pour démarrer l'application à l'aide du profileur

  1. Ouvrez une fenêtre d'invite de commandes.

  2. Démarrez le profileur. Tapez :

    **VSPerfCmd /start:sample /output:**OutputFile [Options]

    • L'option /start:sample initialise le profileur.

    • L'option /output**:**OutputFile est requise avec /start. OutputFile spécifie le nom et l'emplacement du fichier de données de profilage (.vsp).

    Vous pouvez utiliser n'importe laquelle des options suivantes avec l'option /start:sample.

    Option

    Description

    /wincounter:WinCounterPath

    Spécifie un compteur de performance Windows à collecter au cours du profilage.

    /automark:Interval

    À n'utiliser qu'avec /wincounter. Spécifie le nombre de millisecondes entre les événements de collecte du compteur de performance Windows. La valeur par défaut est de 500 ms.

  3. Démarrez l'application cible. Tapez :

    VSPerfCmd /launch**:**appName /gc:{allocation|lifetime}[Options]

    • L'option /gc**:**Keyword est obligatoire pour collecter les données de la mémoire .NET Framework. Le paramètre de mot clé spécifie s'il faut collecter des données d'allocation de mémoire, ou collecter à la fois les données d'allocation de mémoire et les données de durée de vie des objets.

      Mot clé

      Description

      allocation

      Collecte uniquement les données d'allocation de mémoire.

      lifetime

      Collecte les données d'allocation de la mémoire et de durée de vie des objets.

    Vous pouvez utiliser n'importe laquelle des options suivantes avec l'option /launch.

    Option

    Description

    /args:Arguments

    Spécifie une chaîne qui contient les arguments de ligne de commande à passer à l'application cible.

    /console

    Démarre l'application en ligne de commande cible dans une fenêtre séparée.

    /events:Config

    Spécifie un événement ETW (Event Tracing for Windows) à collecter au cours du profilage. Les événements ETW sont collectés dans un fichier séparé (.etl).

    /targetclr:Version

    Spécifie la version du Common Language Runtime (CLR) à profiler lorsque plusieurs versions du runtime sont chargées dans une application.

Contrôle de la collecte de données

Lorsque l'application cible s'exécute, vous pouvez contrôler la collecte de données en démarrant et en arrêtant l'écriture de données dans le fichier à l'aide des options VSPerfCmd.exe. Le contrôle de la collecte de données vous permet de collecter des données pour une partie spécifique de l'exécution du programme, notamment le démarrage ou l'arrêt de l'application.

Pour démarrer et arrêter la collecte de données

  • Les paires suivantes d'options démarrent et arrêtent la collecte de données. Spécifiez chaque option sur une ligne de commande séparée. Vous pouvez activer et désactiver la collecte de données à plusieurs reprises.

    Option

    Description

    /globalon /globaloff

    Démarre (/globalon) ou arrête (/globaloff) la collecte de données pour tous les processus.

    /processon:PID processoff:PID

    Démarre (/processon) ou arrête (/processoff) la collecte de données pour le processus spécifié par l'ID de processus (PID).

    /attach:PID /detach

    /attach commence à collecter des données pour le processus spécifié par PID (l'ID de processus). /detach arrête la collecte de données pour tous les processus.

  • Vous pouvez également utiliser l'option VSPerfCmd.exe /mark pour insérer une marque de profilage dans le fichier de données. La commande /mark ajoute un identificateur, un horodatage et une chaîne de texte facultative définie par l'utilisateur. Les marques peuvent servir à filtrer les données.

Fin de la session de profilage

Pour terminer une session de profilage, le profileur doit être détaché de tous les processus profilés et arrêté explicitement. Vous pouvez détacher le profileur d'une application qui a été profilée via la méthode d'échantillonnage en fermant l'application ou en appelant l'option VSPerfCmd /detach. Vous appelez alors l'option VSPerfCmd /shutdown pour arrêter le profileur et fermer le fichier de données de profilage. La commande VSPerfClrEnv /off désactive les variables d'environnement de profilage.

Pour terminer une session de profilage

  1. Effectuez l'une des étapes suivantes pour détacher le profileur de l'application cible :

    • Fermez l'application cible.

      ou

    • Tapez VSPerfCmd /detach

  2. Arrêtez le profileur. Tapez :

    VSPerfCmd /shutdown

Voir aussi

Concepts

Profilage d'applications autonomes à partir de la ligne de commande

Autres ressources

Vues de données de mémoire .NET des outils de profilage