Delen via


Instrumentatie in Visual Studio (C#, Visual Basic, C++, F#)

In dit artikel worden de instrumentatiehulpprogramma's in Visual Studio beschreven, die worden gebruikt voor het verzamelen van exacte aantal oproepen en oproeptijden.

Er zijn twee soorten instrumentatie:

  • Statisch, waarmee de bestanden van het programma worden gewijzigd voordat het wordt uitgevoerd (VSInstr)

  • Dynamisch, dat gebruikmaakt van een dynamisch proces waarbij de bestanden niet worden gewijzigd. De bestanden worden in het geheugen geladen en vervolgens gewijzigd om de instrumentatiegegevens te verzamelen. Met behulp van het hulpprogramma voor dynamische instrumentatie krijgt u nauwkeurigere informatie, maar voor een kleiner deel van het programma. U kunt kleine secties met code onderzoeken.

Dynamische instrumentatie is handig omdat:

  • Statische instrumentatie vernietigt sterke naamondertekening. Bij dynamische instrumentatie wordt dit probleem vermeden omdat instrumentatie tijdens runtime plaatsvindt.

  • Met statische instrumentatie moeten bestanden in een specifieke volgorde worden geïmplementeerd en weet het hulpprogramma mogelijk niet waar de bestanden zich bevinden. U moet VSInstr handmatig uitvoeren. Met het nieuwe instrumentatiehulpmiddel hoeft u de bestanden niet te vinden. In een ingewikkeld programma kan het vinden van alle bestanden een moeilijk, handmatig proces zijn.

Instrumentatie versus steekproeven

Als het gaat om profilering, zijn er twee mechanismen voor het verzamelen van gegevens. Verzameling met behulp van instrumentatie of verzameling met behulp van steekproeven. Zie Informatie over methoden voor het verzamelen van prestatiesvoor gedetailleerde informatie.

Hulpprogramma voor dynamische instrumentatie

Instrumentation: vanaf Visual Studio 2022 versie 17.5 biedt het hulpprogramma Instrumentatie dynamische instrumentatie voor .NET Core, .NET 5+ en .NET Framework. Dit hulpprogramma biedt de beste prestaties voor instrumentatiescenario's. Open dit hulpprogramma met de Performance Profiler (Alt + F2). Zie het volgende artikel voor meer informatie:

Vanaf Visual Studio 2022 versie 17.6 ondersteunt het hulpprogramma Instrumentatie ook C/C++, maar maakt gebruik van statische instrumentatie (VSInstr).

Zie het volgende artikel als u dit hulpprogramma vanaf de opdrachtregel wilt gebruiken:

Instrumentatie : vanaf Visual Studio 2019 versie 16.9 biedt het hulpprogramma Instrumentatie dynamische instrumentatie voor .NET Core, .NET 5+ en .NET Framework (niet C/C++). Dit hulpprogramma maakt gebruik van een versie van VSInstr.exe die dynamische instrumentatie ondersteunt. Open dit hulpprogramma met de Performance Profiler (Alt + F2). Voor DLL's moet u in plaats daarvan het opdrachtregelprogramma (VSInstr) gebruiken.

Hulpprogramma voor statische instrumentatie

VSInstr- : vanaf Visual Studio 2022 versie 17.6 gebruikt het Instrumentation-hulpprogramma VSInstr voor C/C++-ondersteuning. VSInstr wordt ook gebruikt voor opdrachtregelscenario's en werkt voor .NET Framework- en C/C++-apps. Zie het volgende artikel voor meer informatie: