Freigeben über


VSInstr

Mithilfe des VSInstr-Tools werden Binärdateien instrumentiert. Das Tool wird über diese Syntax aufgerufen:

VSInstr [/U] filename [/options]

In der folgenden Tabelle werden die Optionen des VSInstr-Tools beschrieben:

Optionen

Beschreibungen

Help oder ?

Zeigt die Hilfe an.

U

Umgeleitete Konsolenausgaben werden als Unicode geschrieben. Diese Option muss zuerst angegeben werden.

@filename

Legt den Namen einer Antwortdatei fest, die eine Befehlsoption pro Zeile enthält. Verwenden Sie keine Anführungszeichen.

OutputPath:path

Gibt ein Zielverzeichnis für das instrumentierte Image an. Wird kein Ausgabepfad angegeben, wird die ursprüngliche Binärdatei umbenannt, indem im selben Verzeichnis "Orig" an den Dateinamen angehängt wird, und eine Kopie der ursprünglichen Binärdatei wird instrumentiert.

Exclude:funcspec

Gibt eine Funktionsspezifikation an, die mithilfe von Überprüfungen von der Instrumentation ausgeschlossen werden soll. Dies ist hilfreich, wenn das Einfügen von Profilerstellungsüberprüfungen in eine Funktion zu unvorhersehbaren und unerwünschten Ergebnissen führt.

Geben Sie keine Exclude-Option oder Include-Option an, die auf Funktionen in derselben Binärdatei verweist.

Geben Sie die Exclude-Option mehrmals an, wenn Sie mehrere Funktionen ausschließen möchten.

funcspec wird folgendermaßen definiert:

[namespace<Separator1>] [class<Separator2>]function

<Separator1> ist :: für systemeigenen Code und . für verwalteten Code.

<Separator2> ist immer ::

Exclude wird mit Codeabdeckung unterstützt.

Das Platzhalterzeichen * wird unterstützt. Zum Beispiel können Sie alle Funktionen in einem Namespace ausschließen:

MyNamespace::*

Sie können die vollständigen Namen von Funktionen in der angegebenen Binärdatei mithilfe von VSInstr /DumpFuncs aufführen.

Include:funcspec

Gibt eine Funktionsspezifikation in einer Binärdatei an, die mit Überprüfungen instrumentiert werden soll. Alle anderen Funktionen in den Binärdateien werden nicht instrumentiert.

Geben Sie die Include-Option mehrmals an, wenn Sie mehrere Funktionsspezifikationen angeben möchten.

Geben Sie keine Include-Option oder Exclude-Option an, die auf Funktionen in derselben Binärdatei verweist.

Include wird nicht mit Codeabdeckung unterstützt.

funcspec wird folgendermaßen definiert:

[namespace<Separator1>] [class<Separator2>]function

<Separator1> ist :: für systemeigenen Code und . für verwalteten Code.

<Separator2> ist immer ::

Das Platzhalterzeichen * wird unterstützt. Zum Beispiel können Sie alle Funktionen in einem Namespace einschließen:

MyNamespace::*

Sie können die vollständigen Namen von Funktionen in der angegebenen Binärdatei mithilfe von VSInstr /DumpFuncs aufführen.

DumpFuncs

Listet die Funktionen im angegebenen Image auf. Es wird keine Instrumentation durchgeführt.

ExcludeSmallFuncs

Schließt kleine Funktionen aus der Instrumentation aus. Hierbei handelt es sich um kurze Funktionen, die keine Funktionsaufrufe ausführen. Die ExcludeSmallFuncs-Option bietet einen geringeren Instrumentationsmehraufwand und damit eine verbesserte Instrumentationsgeschwindigkeit.

Durch den Ausschluss kleiner Funktionen wird auch die Größe von VSP-Dateien und die für die Analyse erforderliche Zeit reduziert.

Mark:{Before|After|Top|Bottom},funcname,markid

Fügt eine Profilmarkierung (einen Bezeichner zum Unterteilen der Daten in Berichten) ein, mit der der Beginn und das Ende eines Datenbereichs in einer VSP-Berichtsdatei identifiziert werden können.

Before – Unmittelbar vor dem Aufrufen der Zielfunktion.

After – Unmittelbar nach dem Verlassen der Zielfunktion.

Top – Unmittelbar nach dem Aufrufen der Zielfunktion.

Bottom – Unmittelbar vor jeder Rückkehr in der Zielfunktion.

funcname – Der Name der Zielfunktion.

Markid- Eine positive ganze Zahl (lang), die als Bezeichner für die Profilmarkierung verwendet wird.

Coverage

Führt eine Abdeckungsinstrumentation durch. Es kann nur mit den folgenden Optionen verwendet werden: Verbose, OutputPath, Exclude und Logfile.

Verbose

Die Verbose-Option wird zum Anzeigen detaillierter Informationen zum Instrumentationsvorgang verwendet.

NoWarn[:[Message Number[;Message Number]]]

Unterdrückt alle oder bestimmte Warnungen.

Message Number – Die Warnnummer. Wenn die Message Number weggelassen wird, werden alle Warnungen unterdrückt.

Weitere Informationen finden Sie unter VSInstr-Warnungen.

Control:{Thread|Process|Global}

Gibt die Profilebene der folgenden VSInstr-Optionen für die Steuerung der Datensammlung an:

Start

StartOnly

Suspend

StopOnly

SuspendOnly

ResumeOnly

Thread – Gibt die Steuerungsfunktionen für die Datensammlung auf Threadebene an. Die Profilerstellung wird nur für den aktuellen Thread gestartet oder beendet. Der Profilerstellungszustand anderer Threads wird nicht beeinflusst. Der Standardwert ist thread.

Process – Gibt die Steuerungsfunktionen für die Sammlung von Profilerstellungsdaten auf Prozessebene an. Die Profilerstellung wird für alle Threads im aktuellen Prozess gestartet oder beendet. Der Profilerstellungszustand für andere Prozesse wird nicht beeinflusst.

Global – Gibt die Steuerungsfunktionen für die Datensammlung auf globaler Ebene (prozessübergreifend) an.

Wenn Sie keine Profilebene angeben, tritt ein Fehler auf.

Start:{Inside|Outside},funcname

Beschränkt die Datensammlung auf die Zielfunktion sowie die von dieser Funktion aufgerufenen untergeordneten Funktionen.

Inside – Fügt die StartProfile-Funktion unmittelbar nach dem Aufrufen der Zielfunktion ein. Fügt die StopProfile-Funktion unmittelbar vor jeder Rückkehr in die Zielfunktion ein.

Outside – Fügt die StartProfile-Funktion unmittelbar vor jedem Aufruf der Zielfunktion ein. Fügt die StopProfile-Funktion unmittelbar nach einem Aufruf in die Zielfunktion ein.

funcname – Der Name der Zielfunktion.

Suspend:{Inside|Outside},funcname

Schließt die Datensammlung für die Zielfunktion und untergeordnete von der Funktion aufgerufene Funktionen aus.

Inside – Fügt die SuspendProfile-Funktion unmittelbar nach dem Aufrufen der Zielfunktion ein. Fügt die ResumeProfile-Funktion unmittelbar vor jeder Rückkehr in die Zielfunktion ein.

Outside – Fügt die SuspendProfile-Funktion unmittelbar vor dem Aufrufen der Zielfunktion ein. Fügt die ResumeProfile-Funktion unmittelbar nach dem Verlassen der Zielfunktion ein.

funcname – Der Name der Zielfunktion.

Wenn die Zielfunktion eine StartProfile-Funktion enthält, wird die SuspendProfile-Funktion davor eingefügt. Wenn die Zielfunktion eine StopProfile-Funktion enthält, wird die ResumeProfile-Funktion danach eingefügt.

StartOnly:{Before|After|Top|Bottom},funcname

Startet während einer Profilerstellungsausführung die Datensammlung. Diese Option fügt die StartProfile-API-Funktion an der angegebenen Stelle ein.

Before– Unmittelbar vor dem Aufrufen der Zielfunktion.

After– Unmittelbar nach dem Verlassen der Zielfunktion.

Top – Unmittelbar nach dem Aufrufen der Zielfunktion.

Bottom– Unmittelbar vor jeder Rückkehr in der Zielfunktion.

funcname – Der Name der Zielfunktion.

StopOnly:{Before|After|Top|Bottom},funcname

Stoppt während einer Profilerstellungsausführung die Datensammlung. Die Option fügt die StopProfile-Funktion an der angegebenen Stelle ein.

Before– Unmittelbar vor dem Aufrufen der Zielfunktion.

After– Unmittelbar nach dem Verlassen der Zielfunktion.

Top – Unmittelbar nach dem Aufrufen der Zielfunktion.

Bottom– Unmittelbar vor jeder Rückkehr in der Zielfunktion.

funcname – Der Name der Zielfunktion.

SuspendOnly:{Before|After|Top|Bottom},funcname

Stoppt während einer Profilerstellungsausführung die Datensammlung. Die Option fügt die SuspendProfile-API-Funktion an der angegebenen Stelle ein.

Before– Unmittelbar vor dem Aufrufen der Zielfunktion.

After– Unmittelbar nach dem Verlassen der Zielfunktion.

Top – Unmittelbar nach dem Aufrufen der Zielfunktion.

Bottom– Unmittelbar vor jeder Rückkehr in der Zielfunktion.

funcname – Der Name der Zielfunktion.

Wenn die Zielfunktion eine StartProfile-Funktion enthält, wird die SuspendProfile-Funktion davor eingefügt.

ResumeOnly:{Before|After|Top|Bottom},funcname

Beginnt oder setzt während einer Profilerstellungsausführung die Datensammlung fort.

Normalerweise wird sie verwendet, um die Profilerstellung zu starten, wenn durch eine SuspendOnly-Option die Profilerstellung angehalten wurde. Die Option fügt eine ResumeProfile-API-Funktion an der angegebenen Stelle ein.

Before– Unmittelbar vor dem Aufrufen der Zielfunktion.

After– Unmittelbar nach dem Verlassen der Zielfunktion.

Top – Unmittelbar nach dem Aufrufen der Zielfunktion.

Bottom– Unmittelbar vor jeder Rückkehr in der Zielfunktion.

funcname – Der Name der Zielfunktion.

Wenn die Zielfunktion eine StopProfile-Funktion enthält, wird die ResumeProfile-Funktion danach eingefügt.

Siehe auch

Referenz

VSPerfMon

VSPerfCmd

VSPerfReport

VSInstr-Warnungen

Weitere Ressourcen

Berichtsansichten für Profilerstellungstools