Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die Instrumentierungstools in Visual Studio beschrieben, die zum Sammeln exakter Anrufanzahlen und Anrufzeiten verwendet werden.
Es gibt zwei Arten von Instrumentierung:
Statisch, der die Dateien des Programms vor der Ausführung ändert (VSInstr)
Dynamisch, der einen dynamischen Prozess verwendet, bei dem die Dateien nicht geändert werden. Sie lädt die Dateien in den Arbeitsspeicher und ändert sie dann, um die Instrumentierungsinformationen zu sammeln. Mithilfe des Tools für dynamische Instrumentierung erhalten Sie genauere Informationen, aber für einen kleineren Teil des Programms. Sie können kleine Codeabschnitte untersuchen.
Dynamische Instrumentierung ist hilfreich, da:
Die statische Instrumentierung unterbricht die Signierung mit starkem Namen. Bei dynamischer Instrumentierung wird dieses Problem vermieden, da die Instrumentierung zur Laufzeit erfolgt.
Bei statischer Instrumentierung müssen Dateien in einer bestimmten Reihenfolge bereitgestellt werden, und das Tool weiß möglicherweise nicht, wo sich die Dateien befinden. Sie müssen VSInstr manuell ausführen. Mit dem neuen Instrumentierungstool müssen Sie die Dateien nicht finden. Bei einem komplizierten Programm kann es sich bei der Suche nach allen Dateien um einen schwierigen, manuellen Prozess handeln.
Instrumentierung im Vergleich zum Sampling
Bei der Profilerstellung gibt es zwei Mechanismen zum Sammeln von Daten. Sammlung mit Instrumentierung oder Sammlung mithilfe von Probenahme. Ausführliche Informationen finden Sie unter Grundlegendes zu Leistungsauflistungsmethoden.
Dynamisches Instrumentierungstool
Instrumentation – Ab Visual Studio 2022, Version 17.5, stellt das Instrumentierungstool dynamische Instrumentierung für .NET Core, .NET 5+ und .NET Framework bereit. Dieses Tool bietet die beste Leistung für Instrumentierungsszenarien. Greifen Sie mit dem Performance Profiler (ALT+ F2) auf dieses Tool zu. Weitere Informationen finden Sie im folgenden Artikel:
Ab Visual Studio 2022, Version 17.6, unterstützt das Instrumentierungstool auch C/C++, verwendet jedoch statische Instrumentierung (VSInstr).
Informationen zur Verwendung dieses Tools über die Befehlszeile finden Sie im folgenden Artikel:
Instrumentation – Ab Visual Studio 2019, Version 16.9, stellt das Instrumentierungstool dynamische Instrumentierung für .NET Core, .NET 5+ und .NET Framework (nicht C/C++) bereit. Dieses Tool verwendet eine Version von VSInstr.exe, die dynamische Instrumentierung unterstützt. Greifen Sie mit dem Performance Profiler (ALT+ F2) auf dieses Tool zu. Für DLLs müssen Sie stattdessen das Befehlszeilentool (VSInstr) verwenden.
Statisches Instrumentierungstool
VSInstr – Ab Visual Studio 2022, Version 17.6, verwendet das Instrumentationstool VSInstr für C/C++-Unterstützung. VSInstr wird auch für Befehlszeilenszenarien verwendet und funktioniert für .NET Framework- und C/C++-Apps. Weitere Informationen finden Sie im folgenden Artikel: