Instrumentieren einer nativen, eigenständigen Komponente und Sammeln von Zeitsteuerungsdaten über die Befehlszeile mit dem Profiler

In diesem Artikel wird beschrieben, wie Sie Visual Studio-Befehlszeilenprofilerstellungstools verwenden, um eine systemeigene Komponente zu instrumentieren, z. B. ein C++-Element.exe oder .DLL-Datei , um detaillierte Anzeigedauerdaten zu sammeln.

Verwenden Sie das VSInstr.exe Tool, um detaillierte Zeitangaben aus einer systemeigenen Komponente mithilfe der Instrumentierungsmethode zu sammeln, um eine instrumentierte Version der Komponente zu generieren. Starten Sie als Nächstes den Profiler auf die gleiche Weise wie die anderen Befehlszeilenszenarien mithilfe der PerfInstrumentation.json Agent-Konfiguration. Wenn die instrumentierte Komponente ausgeführt wird, werden Zeitdauerdaten automatisch in einer Diagsession-Datei erfasst.

Der Pfad zu den Profilerstellungstools lautet Microsoft Visual Studio\version\Enterprise\Team Tools\DiagnosticsHub\Collector.

Hinweis

Um die Profiler-Befehlszeilentools zu verwenden, müssen Sie entweder die Visual Studio Developer-Eingabeaufforderung verwenden oder den Toolspfad zur PATH-Umgebungsvariable des Eingabeaufforderungsfensters hinzufügen.

Instrument mit VSInstr

So instrumentieren Sie eine systemeigene Komponente wie z. B. eine C++-Komponente.exe oder .DLL-Datei ausführen:

VSInstr /d:new ModuleToProfile.dll

Sie können optional übergeben /EXCLUDESMALLFUNCS , um kleine Funktionen von der Instrumentierung auszuschließen, die den Aufwand des Tools verringern und genauere Ergebnisse liefern.

Hinweis

Ab Visual Studio 17.11 Preview 3 ist das /d:new Flag nicht erforderlich, da es standardmäßig festgelegt ist.