Partager via


Comment : attacher le profileur à une application .NET Framework autonome et collecter des statistiques d'applications en utilisant la ligne de commande

Cette rubrique explique comment utiliser les outils en ligne de commande des outils de profilage Visual Studio pour attacher le profileur à une application (cliente) autonome .NET Framework en cours d'exécution et collecter des statistiques de performance à l'aide de la méthode d'échantillonnage.

[!REMARQUE]

Les fonctionnalités de sécurité renforcée dans windows 8 et Windows Server 2012 requises des modifications significatives de la manière que le profileur Visual Studio collecte des données sur ces plateformes.Les applications de mémoire de fenêtres requièrent également de nouvelles techniques de collection.Consultez Profilage d'applications Windows 8 et Windows Server 2012.

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 sSur 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.

Ajout de données sur l'interaction entre les couches à une exécution du profilage requiert des procédures spécifiques avec les outils de profilage de ligne de commande.Consultez Ajout des données d'interaction de couche à partir de la ligne de commande.

Pour collecter les données de performance d'une application .NET Framework, les variables d'environnement appropriées doivent être initialisées avant le démarrage de l'application cible.Une fois le profileur attaché à l'application, vous pouvez suspendre la collecte de données et la reprendre.

Pour terminer une session de profilage, le profileur ne doit plus être attaché à l'application et il doit être arrêté explicitement.Dans la plupart des cas, nous vous recommandons de désactiver les variables d'environnement de profilage à la fin d'une session de profilage.

Attachement du profileur

Pour attacher le profileur à une application .NET Framework en cours d'exécution

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

  2. Initialisez les variables d'environnement de profilage.Type :

    VSPerfClrEnv /sampleon [/samplelineoff]

    • L'option /samplelineoff désactive la collection de données de numéros de ligne du code source.
  3. Démarrez le profileur.Type :

    **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

    /user:[Domain\]UserName

    Spécifie le domaine et le nom d'utilisateur facultatifs du compte qui possède le processus profilé.Cette option est obligatoire uniquement si l'application profilée a été démarrée avec un utilisateur autre que celui qui a ouvert la session.

    /crosssession

    Active le profilage de processus dans d'autres ouvertures de session./CS peut être spécifié en tant qu'abréviation de /crosssession.Cette option est requise si l'application s'exécute dans une session différente.

    /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.

    /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).

  4. Si nécessaire, démarrez l'application cible de la manière habituelle.

  5. Attachez le profileur à l'application cible.Type :

    VSPerfCmd /attach:{PID|ProcessName} [Sample Event] [**/targetclr:**Version]

    • PID spécifie l'ID de processus de l'application cible.ProcessName spécifie le nom du processus.Notez que si vous spécifiez ProcessName et que plusieurs processus du même nom sont en cours d'exécution, les résultats sont imprévisibles.Vous pouvez afficher les ID de processus de tous les processus en cours d'exécution dans le Gestionnaire des tâches de Windows.

    • /targetclr**:**Version spécifie la version du Common Language Runtime (CLR) à profiler lorsque plusieurs versions du runtime sont chargées dans une application.Optionnel.

    • Par défaut, les données de performance sont échantillonnées après 10 millions de cycles d'horloge ininterrompus.Cela correspond approximativement à une fois toutes les 10 secondes sur un processeur cadencé à 1 GHz.Vous pouvez spécifier l'une des options suivantes pour modifier l'intervalle de cycle d'horloge ou pour spécifier un événement d'échantillonnage différent./targetclr**:**Version spécifie la version du Common Language Runtime (CLR) à profiler lorsque plusieurs versions du runtime sont chargées dans une application.Optionnel.

    Événement d'échantillonnage

    Description

    /timer:Interval

    Remplace l'intervalle d'échantillonnage par le nombre de cycles d'horloge ininterrompus spécifié par Interval.

    /pf [:Interval]

    Change l'événement d'échantillonnage en erreurs de page.Si Interval est spécifié, définit le nombre d'erreurs de page entre les exemples.La valeur par défaut est 10.

    /sys [:Interval]

    Change l'événement d'échantillonnage en appels système du processus au noyau du système d'exploitation (syscalls).Si Interval est spécifié, définit le nombre d'appels entre les exemples.La valeur par défaut est 10.

    /counter:Config

    Remplace l'événement et l'intervalle d'échantillonnage par le compteur de performance de processeur et l'intervalle spécifiés dans Config.

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 de données du profileur à 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 PID (l'ID de processus).

    /attach:{PID|ProcName} /detach[:{PID|ProcName}]

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

  • 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 dans les rapports et les vues de données du profileur.

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 :

    • Tapez VSPerfCmd /detach

      ou

    • Fermez l'application cible.

  2. Arrêtez le profileur.Type :

    VSPerfCmd/shutdown

  3. (Facultatif) Désactivez les variables d'environnement de profilage.Type :

    VSPerfClrEnv /off

Voir aussi

Concepts

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

Autres ressources

Vues de données de la méthode d'échantillonnage du profileur