Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan använda kommandoradsverktyget Concurrency Visualizer (CVCollectionCmd.exe) för att samla in spårningar från kommandoraden så att du kan visa dem i Concurrency Visualizer för Visual Studio. Verktygen kan användas på datorer som inte har Visual Studio installerat.
Anmärkning
Concurrency Visualizer är ett valfritt tillägg. (Tidigare hade den inkluderats i Visual Studio.) Du kan ladda ned samlingsverktygen för Concurrency Visualizer för Visual Studio från Download Center.
Ladda ned kommandoradsverktyget Concurrency Visualizer
Om du vill ladda ned och installera kommandoradsverktyget går du till Concurrency Visualizer Collection Tools för Visual Studio och följer anvisningarna. Som standard installeras CVCollectionCmd.exe i %ProgramFiles%\Microsoft Concurrency Visualizer Collection Tools\ (%ProgramFiles(x86)%\Microsoft Concurrency Visualizer Collection Tools\ på x64-datorer).
Samla in en spårning med CVCollectionCmd
Du kan samla in en spårning genom att starta appen med CVCollectionCmd eller genom att ansluta till den. Se kommandoreferensen nedan för dina alternativ. Till exempel
<Path>CVCollectionCmd /launch c:\myapp\myapp.exe /outdir c:\myapp\data
Kommandon och parametrar
Om du vill få hjälp om kommandona och parametrarna i kommandoradsverktyget skriver du detta i kommandotolken:
CvCollectionCmd /?
| Option | Description | Parameterar | Returnera värden |
|---|---|---|---|
| Query | Returnerar status om samlingen kan starta. | None | 0 om samlingen är redo att startas. 1 om samlingen redan pågår. 2 om samlingen inte pågår, men en eller flera av de nödvändiga ETW-sessionerna redan är aktiverade. |
| Launch | Kör den angivna processen under Concurrency Visualizer. | Sökvägen till den körbara filen. | 0 om körningen lyckades. 1 om körningen misslyckades eftersom målapplikationen inte kunde startas. 13 om körningen misslyckades eftersom CVCollectionCmd inte har tillräckliga behörigheter för att skriva till den angivna utdatakatalogen. |
| Bifoga | Börjar samla in en systemomfattande spårning; annars kopplas till en process om en har angetts. | Ingen. | 0 om den bifogade filen lyckades. 1 om den bifogade filen misslyckades eftersom den angivna processen är ogiltig eller tvetydig. 13 om den bifogade filen misslyckades eftersom CVCollectionCmd inte har tillräckliga behörigheter för att skriva till den angivna utdatakatalogen. |
| Detach | Stoppar samlingen. | Ingen. | 0 om avkopplingen lyckades. 1 om avkopplingen misslyckades eftersom insamlingen för närvarande inte pågår. 2 om frånkopplingen misslyckades eftersom insamlingen inte kunde stoppas. |
| Analyze | Analyserar den angivna spårningen. | Den fullständiga sökvägen till CVTrace-filen. | 0 om analysen lyckades. 1 om analysen inte kan starta eftersom den angivna spårningen var systemomfattande, men ingen målprocess angavs. 2 om analysen inte kan starta eftersom spårningen inte var systemomfattande och en process angavs. 3 om analysen misslyckades eftersom den angivna processen är ogiltig. 4 om analysen misslyckades eftersom den angivna CVTrace-filen är ogiltig. |
| LaunchArgs | Anger de körbara målargumenten. Det här alternativet gäller endast kommandot Starta. | Kommandoradsargumenten till programmet. | Ingen. |
| Outdir | Anger i vilken katalog spårningsfiler ska sparas. Gäller för kommandona Starta och bifoga. | En katalogsökväg eller relativ sökväg. | Ingen. |
| Processen | Anger den process som ska kopplas till när kommandot Bifoga körs eller processen i en spårning för att analysera när kommandot Analysera körs. Gäller för kommandona Bifoga och analysera. | PID eller namnet på processen. | Ingen. |
| Config | Anger sökvägen till konfigurationsfilen om du vill ha andra samlingsinställningar än standardinställningarna. Gäller för kommandona Starta, Bifoga och Analysera. | Katalogsökvägen eller den relativa sökvägen för XML-konfigurationsfilen. | Ingen. |
Anpassa konfigurationsinställningar
Om du använder CVCollectionCmd för att samla in spårningar och vill anpassa samlingsinställningarna använder du en konfigurationsfil för att ange dem.
Anmärkning
När du använder Visual Studio för att samla in spårningar ändrar du inte konfigurationsfilen direkt. Använd i stället dialogrutan Avancerade inställningar för att ändra inställningarna.
Om du vill ändra samlingsinställningarna skapar du en konfigurationsfil på datorn där du ska köra verktyget CVCollectionCmd. Du kan skapa konfigurationsfilen från grunden, eller så kan du kopiera konfigurationsfilen på datorn som har Visual Studio installerad och ändra den. Filen heter UserConfig.xml och finns i mappen Local AppData . När du kör verktyget använder du alternativet Config tillsammans med kommandot Starta, Bifoga eller Analysera. I parametern som är associerad med konfigurationsalternativet anger du sökvägen till konfigurationsfilen.
Konfigurationsfiltaggar
Konfigurationsfilen är XML-baserad. Här är de giltiga taggarna och värdena:
| Tag | Description | Värden |
|---|---|---|
| Config | Avgränsar den övergripande konfigurationsfilen. | Måste innehålla följande element: - MinorVersion - Huvudversion |
| Huvudversion | Anger huvudversionen av konfigurationsfilen. | Måste vara 1 för de flesta Visual Studio-projekt. Om inte 1 fungerar inte verktyget. |
| Mindre version | Anger mindre versionen av konfigurationsfilen. | Måste vara 0 för de flesta Visual Studio-projekt. Om inte 0 fungerar inte verktyget. |
| IncludeEnvSymbolPath | Anger ett värde som avgör om miljösymbolsökvägen (_NT_SYMBOL_PATH) används. | -Sann -Falsk |
| RaderaEtlsEfterAnalys | Anger ett värde som avgör om ETL-filerna tas bort när analysen är klar. | -Sann -Falsk |
| SymbolPath | Anger sökvägen till symbolservern. Mer information finns i Använda Microsoft Symbol Server för att hämta felsökningssymbolfiler. | Ett katalognamn eller en URL. |
| Markörer | Innehåller listan över markörprovidrar. | Kan innehålla noll eller fler MarkerProvider-element. |
| MarkerProvider | Anger en enskild markörtillhandahållare. | Måste innehålla följande element: -Nivå - GUID - Namn Kan innehålla följande element: -Kategorier - IsEnabled |
| Nivå | Anger prioritetsnivån för en MarkerProvider. | - Låg -Normal -Hög -Kritisk - Allting |
| Guide | Den globalt unika identifieraren för ETW-markörprovidern. | Ett GUID. |
| Namn | Anger beskrivningen av markörleverantören. | En sträng. |
| Kategorier | Anger de kategorier som samlas in för markörprovidern. | En kommaavgränsad sträng med tal eller intervall med tal. |
| ÄrAktiverad | Anger ett värde som avgör om markörprovidern är aktiverad för samling. | -Sann -Falsk |
| FilterConfig | Anger listan över konfigurationsalternativ för de ETW-händelser som filtreras från samlingen. | Kan innehålla följande element: – CollectClrEvents - ClrCollectionOptions – CollectSampleEvents - CollectGpuEvents – CollectFileIO |
| CollectClrEvents | Ange ett värde som avgör om CLR-händelser samlas in. | -Sann -Falsk |
| ClrCollectionOptions | Ange om CLR-händelser ska samlas in för native-appar och om NGEN-rundown-händelser ska samlas in. | Kan innehålla ett, båda eller inget av följande värden: - CollectForNative – DisableNGenRundown |
| CollectSampleEvents | Anger ett värde som avgör om exempelhändelser samlas in. | -Sann -Falsk |
| CollectGpuEvents | Anger ett värde som avgör om de händelser som genereras av DX samlas in. | -Sann -Falsk |
| CollectFileIO | Anger ett värde som avgör om fil-I/O-händelser samlas in. | -Sann -Falsk |
| AnvändarBufferInställningar | Anger listan över parametrar för användarbuffertinställningar. | Måste innehålla följande element: – BufferFlushTimer – BufferSize – MinimumBuffers – MaximumBuffers |
| Inställningar för kärnbuffert | Anger listan över parametrar för kernelbuffertinställningar. | Måste innehålla följande element: – BufferFlushTimer – BufferSize – MinimumBuffers – MaximumBuffers |
| BufferFlushTimer | Anger ETW-buffertarnas tömningstimer. | Ett positivt heltal. |
| Buffertstorlek | Mängden minne som allokeras för varje händelsespårningssessionsbuffert i kilobyte. | Ett tal från 0 till 1024. |
| MinimumBuffers | Det minsta antalet buffertar som allokeras för buffertpoolen för händelsespårningssessionen. | Ett positivt heltal större än eller lika med dubbelt så många logiska kärnor. |
| MaximumBuffers | Maximalt antal buffertar som allokeras för buffertpoolen för händelsespårningssessionen. | Ett tal som är större än eller lika med MinimumBuffers. |
| JustMyCode | Anger listan över Kataloger för Just My Code. | En lista med noll eller fler MyCodeDirectory-element. |
| MyCodeDirectory | Anger en katalog som innehåller din kod. | En absolut sökväg. |
Example
I stället för att skapa en konfigurationsfil från början kan du kopiera följande exempel och sedan ändra det så att det uppfyller dina krav.
<?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>