Befehlszeilenhilfsprogramm für die Parallelitätsschnellansicht (CVCollectionCmd)
Das Parallelität Schnellansicht-Befehlszeile-Dienstprogramm (CVCollectionCmd.exe) können Sie sammeln und Verarbeiten von Ablaufverfolgungen auf Computern, die keine Visual Studio haben.Können Sie die gesammelten Spuren auf einem Computer öffnen Visual Studio hat, so dass Sie diese in die Parallelität Schnellansicht anzeigen können.
Installieren und Bereitstellen von das Dienstprogramm
Von einer Visual Studio-DVD installieren.
Finden Sie auf der DVD den Ordner den obersten Ebene, die mit dem Namen "Parallelität Schnellansicht."
Führen Sie in diesem Ordner concvi_standalonecollection.exe.
Von einer Visual Studio Web-Installationsdatei installieren
Suchen Sie die Installationsdatei, die Sie heruntergeladen haben.Der Dateiname hängt die Version des Visual Studio, die Sie heruntergeladen haben.
Öffnen Sie ein Eingabeaufforderungsfenster, und wechseln Sie zum Verzeichnis, in dem die Installationsdatei befindet.
Führen Sie den Befehl <install file>/layout, wo install file ist der Name der Datei, die Sie heruntergeladen haben.Der Befehl erstellt einen Ordner namens "Parallelität Schnellansicht."
Führen Sie im Ordner "Parallelität Schnellansicht" concvi_standalonecollection.exe.
Auf einem Computer bereitstellen, die nicht Visual Studio
Suchen Sie concvi_standalonecollection.exe auf einem Computer mit Visual Studio.(Siehe die beiden vorherigen Verfahren).
Kopieren Sie concvi_standalonecollection.exe auf den Computer, die nicht Visual Studio.
Führen Sie concvi_standalonecollection.exe.
Befehle und Parameter
Sie können auf diese Befehle und Parameter mithilfe erhalten Sie Hilfe:
CvCollectionCmd /?
Option |
Beschreibung |
Parameter |
Rückgabewerte |
---|---|---|---|
Abfrage |
Gibt zurück, ob die Auflistung gestartet werden kann. |
None |
0, wenn Auflistung beginnen. 1, wenn die Auflistung bereits ausgeführt wird. 2 Wenn die Auflistung in Progress, aber mindestens eine der erforderlichen ist nicht ETW Sitzungen ist bereits aktiviert. |
Starten |
Führt den angegebenen Prozess unter Parallelität Schnellansicht. |
Der Pfad der ausführbaren Datei. |
0, wenn die Ausführung erfolgreich war. 1, wenn es sich bei die Ausführung ist fehlgeschlagen, da die Zielanwendung konnte nicht gestartet werden. 13 Wenn die Ausführung fehlgeschlagen ist, da CVCollectionCmd nicht genügend Berechtigungen zum Schreiben in das angegebene Ausgabeverzeichnis hat. |
Anfügen |
Beginnt eine systemweite Ablaufverfolgung sammeln; Andernfalls Anfügen an einen Prozess, wenn eine angegeben ist. |
Keine. |
0, wenn die Anlage wurde erfolgreich abgeschlossen. 1 Wenn der Anlage ist fehlgeschlagen, da es sich bei der angegebene Prozess ungültig oder nicht eindeutig ist. 13 Wenn die Anlage ist fehlgeschlagen, da es sich bei CVCollectionCmd ausreichende Berechtigungen zum Schreiben in das angegebene Ausgabeverzeichnis hat. |
Trennen |
Beendet die Auflistung. |
Keine. |
0 Wenn Loslösung erfolgreich war. 1 Wenn Loslösung ist fehlgeschlagen, da Collection nicht im Gange ist. 2 Wenn Loslösung ist fehlgeschlagen, da Collection nicht beendet werden konnte. |
Analysieren |
Analysiert die angegebene Ablaufverfolgung. |
Der vollständige Pfad der Datei CVTrace. |
0, wenn die Analyse erfolgreich war. 1 Wenn die Analyse nicht gestartet werden kann, weil die angegebene Ablaufverfolgung systemweite, aber kein Zielprozess angegeben wurde. 2 Wenn die Analyse nicht starten, da die Ablaufverfolgung nicht systemweit und ein Prozess wurde wurde angegeben. 3 wenn Analyse ist fehlgeschlagen, da der angegebene Prozess ungültig ist. 4 Wenn Analyse ist fehlgeschlagen, da die angegebene CVTrace-Datei ungültig ist. |
LaunchArgs |
Gibt die Ziel-ausführbare-Argumente.Diese Option gilt für den Start-Befehl. |
Die Befehlszeilenargumente der Anwendung. |
Keine. |
OutDir |
Gibt das Verzeichnis in der Ablaufverfolgungsdateien gespeichert.Gilt für die Befehle Start und Anhängen. |
Ein Verzeichnispfad oder relativen Pfad. |
Keine. |
Prozess |
Gibt an, die zur Ausführung des Befehls Attach anhängen, oder der Prozess in einer Ablaufverfolgung analysieren, wenn der Analyze-Befehl ausgeführt wird.Gilt für die Befehle Attach und analysieren. |
Die PID oder der Name des Prozesses. |
Keine. |
Konfiguration |
Gibt den Pfad der Konfigurationsdatei, andere Sammlungseinstellungen als die Standardwerte auf Wunsch.Gilt für die Befehle Start, Anhängen und analysieren. |
Der Verzeichnispfad oder der relative Pfad der XML-Konfigurationsdatei. |
Keine. |
Einstellungen anpassen
Wenn Sie CVCollectionCmd verwenden, um Ablaufverfolgungen zu sammeln und Sie die Auflistung Einstellungen anpassen möchten, verwenden Sie eine Konfigurationsdatei angeben.
Hinweis |
---|
Wenn Sie Visual Studio verwenden, um Ablaufverfolgungen zu sammeln, bearbeiten Sie nicht die Konfigurationsdatei direkt.Verwenden Sie stattdessen die Erweiterte Einstellungen im Dialogfeld, um Einstellungen zu ändern. |
Um Einstellungen zu ändern, erstellen Sie eine Konfigurationsdatei auf dem Computer, in dem Sie das CVCollectionCmd-Dienstprogramm ausgeführt wird.Sie können die Konfigurationsdatei von Grund auf neu erstellen oder Sie können kopieren Sie die Konfigurationsdatei auf dem Computer, auf dem Visual Studio installiert ist und ändern, die.Die Datei mit dem Namen UserConfig.xml und befindet sich in der Lokalen Anwendungsdaten Ordner.Wenn Sie das Dienstprogramm ausführen, verwenden Sie die Config-Option in Verbindung mit dem Befehl Start, Anfügen oder analysieren.Der Parameter, der mit der Option Config zugeordnet ist, geben Sie den Pfad der Konfigurationsdatei.
Konfiguration-Datei-Tags
Die Konfigurationsdatei ist XML-basiert.Hier sind die gültigen Tags und Werte:
Tag |
Beschreibung |
Werte |
---|---|---|
Konfiguration |
Markiert die gesamten Config-Datei. |
Müssen diese Elemente enthalten:
|
MajorVersion |
Gibt die Hauptversion der Datei Config. |
1 Für Visual Studio 2012 Projekte.Wenn nicht 1, das Dienstprogramm funktioniert nicht. |
MinorVersion |
Gibt die Nebenversion der Datei Config. |
Muss 0 für Visual Studio 2012 Projekte.Andernfalls 0, das Dienstprogramm funktioniert nicht. |
IncludeEnvSymbolPath |
Legt einen Wert, der bestimmt, ob der Umgebung Symbolpfad (_NT_SYMBOL_PATH) verwendet wird. |
|
DeleteEtlsAfterAnalysis |
Legt einen Wert, der bestimmt, ob die ETL-Dateien gelöscht werden, wenn die Analyse abgeschlossen hat. |
|
Symbolpfad |
Gibt den Pfad des Symbolservers.Weitere Informationen finden Sie unter verwenden Microsoft Symbol Server zu erhalten, die Symboldateien debuggen. |
Ein Verzeichnisname oder die URL. |
Markers |
Enthält die Liste der Anbieter Marker. |
Kann NULL oder mehr MarkerProvider Elemente enthalten. |
MarkerProvider |
Gibt einen single-Marker-Anbieter. |
Müssen diese Elemente enthalten:
Können diese Elemente enthalten:
|
Ebene |
Legt die Wichtigkeit einer MarkerProvider. |
|
Guid |
Die globally unique Identifier des ETW-Marker-Anbieters. |
Eine GUID. |
Name |
Gibt die Beschreibung des Anbieters Marker. |
Eine Zeichenfolge. |
Kategorien |
Gibt die Kategorien für den Marker-Anbieter zusammengestellt. |
Eine durch Trennzeichen getrennte Zeichenfolge von Zahlen oder Bereiche von Zahlen. |
IsEnabled |
Legt einen Wert, der bestimmt, ob der Anbieter Marker für Auflistung aktiviert ist. |
|
FilterConfig |
Gibt die Liste der Konfigurationsoptionen von ETW-Ereignissen, die aus der Auflistung gefiltert werden. |
Diese Elemente enthalten:
|
CollectClrEvents |
Legen Sie einen Wert, der bestimmt, ob CLR-Ereignisse gesammelt werden. |
|
ClrCollectionOptions |
Gibt an, ob CLR-Ereignisse für systemeigene Anwendungen sammeln und NGEN-rundown-Ereignisse zu sammeln. |
Kann eine, beide oder keines der folgenden Werte enthalten:
|
CollectSampleEvents |
Legt einen Wert, der bestimmt, ob die Beispielereignisse gesammelt werden. |
|
CollectGpuEvents |
Legt einen Wert, der bestimmt, ob die von DX generierten Ereignisse gesammelt werden. |
|
CollectFileIO |
Legt einen Wert, der bestimmt, ob die e/a-Ereignisse gesammelt werden. |
|
UserBufferSettings |
Gibt die Liste der Parameter für die Puffer-Einstellungen. |
Müssen diese Elemente enthalten:
|
KernelBufferSettings |
Gibt die Liste der Parameter für Kernel-Puffer-Einstellungen. |
Müssen diese Elemente enthalten:
|
BufferFlushTimer |
Gibt das Leerungszeitgeber der ETW-Puffer. |
Eine positive Ganzzahl. |
BufferSize |
Größe des Speichers, der für jedes Event Tracing Session-Puffers in Kilobyte zugeordnet ist. |
Eine Zahl von 0 bis 1024. |
MinimumBuffers |
Die minimale Anzahl der Puffer, die für den Pufferpool der Ereignisablaufverfolgung Sitzung zugewiesen werden. |
Eine positive ganze Zahl größer als oder gleich zweimal die Anzahl der logischen Kernen. |
MaximumBuffers |
Maximale Anzahl der Puffer, die für den Pufferpool der Ereignisablaufverfolgung Sitzung zugewiesen werden. |
Eine Zahl größer als oder gleich MinimumBuffers. |
JustMyCode |
Gibt die Liste der Verzeichnisse für nur mein Code. |
Eine Liste von NULL oder mehr MyCodeDirectory-Elemente. |
MyCodeDirectory |
Gibt ein Verzeichnis mit den Code. |
Ein absoluter Pfad. |
Beispiel
Statt Erstellen einer Konfigurationsdatei ab, können Sie kopieren Sie das folgende Beispiel und ändern es an Ihre Anforderungen.
<?xml version="1.0"?>
<LocalConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" MajorVersion="1" MinorVersion="0">
<IncludeEnvSymbolPath>true</IncludeEnvSymbolPath>
<DeleteEtlsAfterAnalysis>true</DeleteEtlsAfterAnalysis>
<TraceLocation>C:\traces</TraceLocation>
<SymbolPath>http://symweb</SymbolPath>
<Markers>
<MarkerProvider Name="Default" Guid="8d4925ab-505a-483b-a7e0-6f824a07a6f0" Level="Low" />
<MarkerProvider Name="TPL" Guid="2e5dba47-a3d2-4d16-8ee0-6671ffdcd7b5" Level="Normal" />
<MarkerProvider Name="TPL Dataflow" Guid="16f53577-e41d-43d4-b47e-c17025bf4025" Level="Normal" />
<MarkerProvider Name="TPL Synchronization" Guid="ec631d38-466b-4290-9306-834971ba0217" Level="Normal" />
<MarkerProvider Name="PLINQ" Guid="159eeeec-4a14-4418-a8fe-faabcd987887" Level="Normal" />
<MarkerProvider Name="Concurrency Runtime" Guid="f7b697a3-4db5-4d3b-be71-c4d284e6592f" Level="Normal" />
<MarkerProvider Name="Scenario Markers" Guid="fb9244c9-f23a-4966-8a9c-97a51f8c355b" Level="Low" />
<!-- The IsEnabled and Categories elements are optional -->
<MarkerProvider Name="myMarker1" Guid="d0dbb3a3-895c-4ce6-96d9-28f69d664dc3" Level="Critical" IsEnabled="false" Categories="0,1,3-5,8" />
<MarkerProvider Name="myMarker2" Guid="03452127-a617-4302-9e30-c0d10442e4ee" Level="Low" IsEnabled="false" Categories="0,1,3-5,8-10,11-13" />
</Markers>
<FilterConfig>
<CollectClrEvents>true</CollectClrEvents>
<ClrCollectionOptions>CollectForNative DisableNGenRundown</ClrCollectionOptions>
<CollectSampleEvents>true</CollectSampleEvents>
<CollectGpuEvents>true</CollectGpuEvents>
<CollectFileIO>true</CollectFileIO>
</FilterConfig>
<UserBufferSettings>
<BufferFlushTimer>0</BufferFlushTimer>
<BufferSize>256</BufferSize>
<MinimumBuffers>512</MinimumBuffers>
<MaximumBuffers>1024</MaximumBuffers>
</UserBufferSettings>
<KernelBufferSettings>
<BufferFlushTimer>0</BufferFlushTimer>
<BufferSize>256</BufferSize>
<MinimumBuffers>512</MinimumBuffers>
<MaximumBuffers>1024</MaximumBuffers>
</KernelBufferSettings>
<!-- List of MyCodeDirectory directories -->
<JustMyCode>
<MyCodeDirectory>C:\myBinaries1</MyCodeDirectory>
<MyCodeDirectory>C:\myBinaries2</MyCodeDirectory>
</JustMyCode>
</LocalConfig>