VSInstr

Aktualisiert: November 2007

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

Beschreibung

HELP oder ?

Zeigt die Hilfe an.

U

Mit der U-Option wird die umgeleitete Konsolenausgabe als Unicode ausgegeben. Diese Option muss zuerst angegeben werden.

@filename

Die Antwortdatei sollte pro Zeile über eine Befehlsoption verfügen. Verwenden Sie keine Anführungszeichen.

OUTPUTPATH:path

Zielverzeichnis für das instrumentierte Abbild. 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.

CONTROL:{THREAD|PROCESS|GLOBAL}

Die CONTROL-Option dient zur Angabe der Profilebene der folgenden Steuerungsfunktionen für die Datenerfassung:

StartProfile

StopProfile

SuspendProfile

ResumeProfile

THREAD – Gibt die Steuerungsfunktionen für die Datenerfassung 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 Erfassung 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 Datenerfassung auf globaler Ebene (prozessübergreifend) an.

Wenn Sie keine Profilebene angeben, tritt ein Fehler auf.

START:{INSIDE|OUTSIDE},funcname

Mithilfe der START-Option wird die Datenerfassung auf die Zielfunktion sowie die von dieser Funktion aufgerufenen untergeordneten Funktionen beschränkt.

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 einem Aufruf in die Zielfunktion ein. Fügt die StopProfile-Funktion unmittelbar nach einem Aufruf in die Zielfunktion ein.

funcname – Der Name der Zielfunktion.

SUSPEND:{INSIDE|OUTSIDE},funcname

Mithilfe der SUSPEND-Option wird die Datenerfassung für die Zielfunktion sowie die von dieser Funktion aufgerufenen untergeordneten Funktionen ausgeschlossen.

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

Mithilfe der STARTONLY-Option wird die Datenerfassung während einer Profilerstellung gestartet. 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 die Zielfunktion.

funcname – Der Name der Zielfunktion.

STOPONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname

Mithilfe der STOPTONLY-Option wird die Datenerfassung während einer Profilerstellung angehalten. 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 die Zielfunktion.

funcname – Der Name der Zielfunktion.

SUSPENDONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname

Mithilfe der SUSPENDONLY-Option wird die Datenerfassung während einer Profilerstellung angehalten. 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 die 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

Mithilfe der RESUMEONLY-Option wird die Datenerfassung während einer Profilerstellung gestartet oder fortgesetzt.

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 die Zielfunktion.

funcname – Der Name der Zielfunktion.

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

EXCLUDE:funcspec

Mit der EXCLUDE-Option wird eine Funktionsspezifikation angegeben, 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.

Verwenden Sie keine EXCLUDE- und INCLUDE-Optionen, die auf Funktionen in derselben Binärdatei verweisen.

Sie können mehrere Funktionsspezifikationen mit separaten EXCLUDE-Optionen angeben.

funcspec wird folgendermaßen definiert:

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

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

<Separator2> ist immer ::

Die EXCLUDE-Option wird mit Codeabdeckung unterstützt.

Verwenden Sie das Platzhalterzeichen, um alle Funktionen in einem Namespace auszuschließen:

MyNamespace::*

INCLUDE:funcspec

Mit der INCLUDE-Option wird eine Funktionsspezifikation in einer Binärdatei angegeben, die mit Überprüfungen instrumentiert werden soll. Alle anderen Funktionen in den Binärdateien werden nicht instrumentiert.

Sie können mehrere Funktionsspezifikationen mit separaten INCLUDE-Optionen angeben.

Verwenden Sie keine INCLUDE- und EXCLUDE-Optionen, die auf Funktionen in derselben Binärdatei verweisen.

Die INCLUDE-Option 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 ::

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 Instrumentation Overhead und folglich 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

Die MARK-Option fügt eine MarkProfile-API-Funktion beim Aufrufen und beim Verlassen der Zielfunktion ein. Die MarkProfile-API 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 die Zielfunktion.

funcname – Der Name der Zielfunktion.

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

COVERAGE

Die COVERAGE-Option führt die Abdeckungsinstrumentation aus. Sie kann mit der OUTPUTPATH-Option kombiniert werden.

VERBOSE

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

NOWARN[:[Message Number[;Message Number]]]

Die NOWARN-Option wird zum Unterdrücken aller oder bestimmter Warnungen verwendet.

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

Weitere Informationen finden Sie unter VSInstr-Warnungen.

DUMPFUNCS

Die DUMPFUNCS-Option zeigt die Funktionen innerhalb des angegebenen Abbilds an. Es wird keine Instrumentation durchgeführt.

Siehe auch

Referenz

VSPerfMon

VSPerfCmd

VSPerfReport

VSInstr-Warnungen

Definitionen der Spalten in den Berichten der Profilerstellungstools