Instrumentation dans Visual Studio (C#, Visual Basic, C++, F#)
Article
Cet article décrit les outils d’instrumentation dans Visual Studio, qui sont utilisés pour collecter les nombres d’appels exacts et les heures d’appel.
Il existe deux types d’instrumentation :
Statique, qui modifie les fichiers du programme avant son exécution (VSInstr)
Dynamique, qui utilise un processus dynamique où il ne modifie pas les fichiers. Il charge les fichiers en mémoire, puis les modifie pour collecter les informations d’instrumentation. À l’aide de l’outil d’instrumentation dynamique, vous obtenez des informations plus précises, mais pour une partie plus petite du programme. Vous pouvez examiner de petites sections de code.
L’instrumentation dynamique est utile, car :
L’instrumentation statique interrompt la signature des noms partagés. Avec l’instrumentation dynamique, ce problème est évité, car l’instrumentation se produit au moment de l’exécution.
Avec l’instrumentation statique, les fichiers doivent être déployés dans un ordre spécifique et l’outil peut ne pas savoir où se trouvent les fichiers. Vous devez exécuter manuellement VSInstr. Avec le nouvel outil d’instrumentation, vous n’avez pas besoin d’accéder aux fichiers. Sur un programme compliqué, la recherche de tous les fichiers peut être un processus manuel difficile.
Instrumentation et échantillonnage
En ce qui concerne le profilage, il existe deux mécanismes de collecte de données. Collection à l’aide de l’instrumentation ou de la collecte à l’aide de l’échantillonnage. Pour plus d’informations, consultez Comprendre les méthodes de collecte de performances.
Outil d’instrumentation dynamique
Instrumentation - À partir de Visual Studio 2022 version 17.5, l’outil Instrumentation fournit une instrumentation dynamique pour .NET Core, .NET 5+ et .NET Framework. Cet outil offre les meilleures performances pour les scénarios d’instrumentation. Accédez à cet outil à l’aide du Profileur de performances (Alt + F2). Pour plus d’informations, consultez l’article suivant :
À compter de Visual Studio 2022 version 17.6, l’outil Instrumentation prend également en charge C/C++, mais utilise l’instrumentation statique (VSInstr).
Pour utiliser cet outil à partir de la ligne de commande, consultez l’article suivant :
Instrumentation - À partir de Visual Studio 2019 version 16.9, l’outil Instrumentation fournit une instrumentation dynamique pour .NET Core, .NET 5+ et .NET Framework (et non C/C++). Cet outil utilise une version de VSInstr.exe qui prend en charge l’instrumentation dynamique. Accédez à cet outil à l’aide du Profileur de performances (Alt + F2). Pour les DLL, vous devez utiliser l’outil en ligne de commande (VSInstr) à la place.
Outil d’instrumentation statique
VSInstr - À partir de Visual Studio 2022 version 17.6, l’outil Instrumentation utilise VSInstr pour la prise en charge C/C++. VSInstr est également utilisé pour les scénarios de ligne de commande et fonctionne pour les applications .NET Framework et C/C++. Pour plus d’informations, consultez l’article suivant :
Développez une stratégie d’instrumentation efficace à l’aide de la journalisation, de la télémétrie et de la surveillance, et préparez-vous à l’examen AZ-400 : Conception et implémentation de solutions Microsoft DevOps.