Instrumentieren von .NET-Anwendungen in Visual Studio (C#, C++, Visual Basic, F#)

Mit dem Release von Visual Studio 2022 Version 17.5 können Sie das neue Tool für die dynamische Instrumentierung verwenden. Dieses Tool zeigt die genaue Anzahl der Aufrufe Ihrer Funktionen an und ist schneller als die vorherige Version des Instrumentierungstools. Dieses Tool unterstützt die .NET Core-Instrumentierung, ohne PDBs zu benötigen. Ab Visual Studio 2022 Version 17.6 Preview 2 unterstützt das Tool auch C/C++.

Das Tool ähnelt dem CPU-Auslastungstool, es basiert jedoch nicht auf der CPU-Auslastung, sondern auf der Gesamtbetrachtungszeit. Weitere Informationen zur effektiven Verwendung des Instrumentationstools finden Sie unter Verbessern der Leistung von Visual Studio mit dem neuen Instrumentierungstool.

Instrumentieren Ihrer Anwendung

  1. Wählen Sie Alt+F2 (oder Debuggen von > Leistungs-Profiler), um den Leistungs-Profiler in Visual Studio zu öffnen.

  2. Aktivieren Sie das Kontrollkästchen Instrumentierung.

    Screenshot: Auswahl des Tools „Instrumentierung“.

    Wenn Sie die Option Mit angehaltener Sammlung starten vor dem Starten des Profilers aktivieren, werden die Daten erst erfasst, wenn Sie in der Diagnosesitzungsansicht die Schaltfläche Aufzeichnen auswählen.

    Hinweis

    Wenn das Tool nicht ausgewählt werden kann, deaktivieren Sie die Kontrollkästchen aller anderen Tools, da einige Tools allein ausgeführt werden müssen. Weitere Informationen zum gemeinsamen Ausführen von Tools finden Sie unter Gleichzeitiges Verwenden mehrerer Profilertools.

    Wenn das Tool immer noch nicht verfügbar ist, überprüfen Sie, ob Ihr Projekt die zuvor genannten Anforderungen erfüllt. Vergewissern Sie sich, dass sich Ihr Projekt im Releasemodus befindet, um die Daten möglichst genau zu erfassen.

  3. Klicken Sie auf die Schaltfläche Start, um das Tool auszuführen.

  4. Wählen Sie die Elemente in Ihrem Programm aus, die Sie instrumentieren möchten.

    Screenshot mit Dialogfeld „Zu instrumentierende Elemente auswählen“

  5. Klicken Sie auf OK.

  6. Gehen Sie nach dem Start des Tools das Szenario durch, für das Sie in Ihrer App ein Profil erstellen möchten. Wählen Sie dann Sammlung beenden aus, oder schließen Sie Ihre App, um die Daten anzuzeigen.

Analysieren des Instrumentierungsberichts

Ihre Profilerstellungsdaten werden in Visual Studio angezeigt.

Screenshot mit .NET-Instrumentierungsdaten.

Die Ansicht „Instrumentierungsdaten“ zeigt eine Liste der Funktionen an, geordnet nach der Ausführungsdauer. Hierbei wird die Funktion mit der längsten Laufzeit unter Top-Funktionen an erster Stelle angezeigt. Im Abschnitt Langsamster Pfad wird die Aufrufliste für die Funktionen angezeigt, die am meisten Zeit in Anspruch nehmen. Anhand dieser Listen können Sie feststellen, bei welchen Funktionen es zu Leistungsengpässen kommt.

Klicken Sie auf eine Funktion, an der Sie interessiert sind, und es wird eine detailliertere Ansicht angezeigt.

Die verfügbaren Informationen ähneln denen im CPU-Auslastungstool, sie basieren jedoch nicht auf der CPU-Auslastung, sondern auf der Gesamtbetrachtungszeit und Aufrufanzahl. Dies bedeutet, dass im Gegensatz zum CPU-Auslastungstool blockierte Zeit (z. B. Wartezeit bei Sperren) in der Instrumentierungsüberwachung angezeigt wird. Ausführliche Informationen zu den Ansichten finden Sie unter CPU-Auslastung.