Compartilhar via


Utilitário de linha de comando do Visualizador de simultaneidade (CVCollectionCmd)

Você pode usar o utilitário de linha de comando do Visualizador de simultaneidade (CVCollectionCmd.exe) para coletar e processar os rastreamentos em máquinas que não têm Visual Studio.Você pode abrir os rastreamentos coletados em uma máquina que tem Visual Studio para que possa exibi-los no Visualizador de simultaneidade.

Instalando e implantando o utilitário

Para instalar a partir de um DVD de Visual Studio

  1. No DVD, localizar a pasta de nível superior chamada "Visualizador de simultaneidade".

  2. Nessa pasta, execute concvi_standalonecollection.exe.

Para instalar a partir de um arquivo de instalação do Web Visual Studio

  1. Localize o arquivo de instalação que você baixou.O nome do arquivo depende da versão do Visual Studio que você baixou.

  2. Abra uma janela de Prompt de comando e altere para o diretório onde está localizado o arquivo de instalação.

  3. Execute o comando <install file>/layout, onde install file é o nome do arquivo que você baixou.O comando layout cria uma pasta chamada "Visualizador de simultaneidade".

  4. Na pasta "Simultaneidade Visualizer", execute concvi_standalonecollection.exe.

Implantar em um computador que não tem Visual Studio

  1. Localize concvi_standalonecollection.exe em um computador que tem o Visual Studio.(Consulte os dois procedimentos anteriores).

  2. Copie concvi_standalonecollection.exe para o computador que não tenha Visual Studio.

  3. Execute concvi_standalonecollection.exe.

Comandos e parâmetros

Você pode obter ajuda sobre esses comandos e parâmetros usando:

CvCollectionCmd /?

Opção

Descrição

Parâmetros

Valores de retorno

Consulta

Retorna se a coleção pode ser iniciada.

Nenhum

0 se a coleção está pronta para começar.

1 se a coleção já está em andamento.

2 se a coleção não está em andamento, mas um ou mais dos recursos do ETW sessões já está ativado.

Lançamento

Executa o processo especificado sob o visualisador de simultaneidade.

O caminho do executável.

0 se a execução foi bem-sucedida.

1 se a execução falhou porque o aplicativo de destino não pôde ser iniciado.

13 se a execução falhou porque CVCollectionCmd não tem permissões suficientes para gravar no diretório de saída especificado.

Anexar

Começa a coleta de um rastreamento de todo o sistema; Caso contrário, anexa a um processo se alguma for especificada.

Nenhum.

0 se o anexo foi bem-sucedida.

1 se o anexo falha porque o processo especificado é inválido ou ambíguo.

13 se o anexo porque o CVCollectionCmd não tem permissões suficientes para gravar no diretório de saída especificado.

Desanexar

Coleção de paradas.

Nenhum.

0 se a desconexão foi bem-sucedida.

1 se a desconexão falhou porque a coleção não está em andamento.

2 se a desconexão falhou porque a coleção não pôde ser interrompida.

Analisar

Analisa o rastreamento especificado.

O caminho completo do arquivo CVTrace.

0 se a análise foi bem-sucedida.

1 se a análise não pode iniciar porque o rastreamento especificado foi todo o sistema, mas nenhum processo de destino foi especificado.

2 se a análise não pode iniciar porque o rastreamento não era um processo e todo o sistema foi especificado.

3 se a análise falhou porque o processo especificado é inválido.

4 se a análise falhou porque o arquivo de CVTrace especificado é inválido.

LaunchArgs

Especifica os argumentos de executável de destino.Esta opção se aplica somente ao comando de lançamento.

Os argumentos de linha de comando para o aplicativo.

Nenhum.

OutDir

Especifica o diretório no qual salvar os arquivos de rastreamento.Aplica-se aos comandos de inicialização e anexar.

Um caminho ou o caminho relativo.

Nenhum.

Processo

Especifica o processo de anexar a quando é executado o comando Attach ou o processo em um rastreamento de analisar quando é executado o comando de análise.Aplica-se aos comandos anexar e analisar.

O PID ou o nome do processo.

Nenhum.

Config

Especifica o caminho do arquivo de configuração, se você deseja que as configurações de coleção diferente dos padrões.Aplica-se os comandos de inicialização, anexar e analisar.

O caminho do diretório ou o caminho relativo do arquivo de configuração XML.

Nenhum.

Personalizando as configurações

Se você usar CVCollectionCmd para coletar rastreamentos e você deseja personalizar as configurações da coleção, use um arquivo de configuração para especificá-los.

ObservaçãoObservação

Quando você usa Visual Studio para coletar rastreamentos, não modificar diretamente o arquivo de configuração.Em vez disso, use o Configurações avançadas caixa de diálogo para modificar as configurações.

Para modificar configurações de coleção, crie um arquivo de configuração no computador onde será executado o utilitário CVCollectionCmd.Você pode criar o arquivo de configuração a partir do zero, ou você pode copiar o arquivo de configuração no computador que tem o Visual Studio instalado e modificar que.O arquivo é nomeado UserConfig.xml e está localizado no AppData Local pasta.Quando você executa o utilitário, use a opção de configuração em conjunto com o comando de inicialização, anexar ou analisar.No parâmetro associado a opção de configuração, especifique o caminho do arquivo de configuração.

Hh543788.collapse_all(pt-br,VS.110).gifMarcas de arquivo de configuração

O arquivo de configuração é baseado em XML.Aqui estão os valores e marcas válidas:

Marca

Descrição

Valores

Config

Demarcates arquivo de configuração geral.

Deve conter estes elementos:

  • MinorVersion

  • MajorVersion

MajorVersion

Especifica a versão principal do arquivo config.

Deve ser 1 para Visual Studio 2012 projetos.Se não for 1, o utilitário não funcionará.

MinorVersion

Especifica a versão secundária do arquivo config.

Deve ser 0 para Visual Studio 2012 projetos.Se não for 0, o utilitário não funcionará.

IncludeEnvSymbolPath

Define um valor que determina se o caminho de símbolo de ambiente ( NT_SYMBOL_PATH) é usado.

  • True

  • False

DeleteEtlsAfterAnalysis

Define um valor que determina se os arquivos são excluídos quando a análise for concluída.

  • True

  • False

SymbolPath

Especifica o caminho do servidor de símbolo.Para obter mais informações, consulte usar o Microsoft Symbol Server para obter arquivos de símbolos de depuração.

Um nome de diretório ou URL.

Marcadores

Contém a lista de provedores de marcador.

Pode conter zero ou mais elementos de MarkerProvider.

MarkerProvider

Especifica um provedor único marcador.

Deve conter estes elementos:

  • Level

  • GUID

  • Nome

Pode conter estes elementos:

  • Categorias

  • IsEnabled

Level

Define o nível de importância de um MarkerProvider.

  • Baixo

  • Normal

  • Alto

  • Essenciais

  • Tudo

GUID

Identificador exclusivo do provedor ETW marcador.

UM GUID.

Nome

Especifica a descrição do provedor do marcador.

Uma cadeia de caracteres.

Categorias

Especifica as categorias coletadas para o provedor do marcador.

Uma seqüência delimitada por vírgulas de números ou intervalos de números.

IsEnabled

Define um valor que determina se o provedor do marcador é habilitado para coleção.

  • True

  • False

FilterConfig

Especifica a lista de opções de configuração de eventos ETW que são filtrados de coleção.

Pode conter estes elementos:

  • CollectClrEvents

  • ClrCollectionOptions

  • CollectSampleEvents

  • CollectGpuEvents

  • CollectFileIO

CollectClrEvents

Defina um valor que determina se os eventos CLR são coletados.

  • True

  • False

ClrCollectionOptions

Especifica se deve coletar eventos do CLR para aplicativos nativos e coletar eventos de encerramento do NGEN.

Pode conter um, ambos ou nenhum desses valores:

  • CollectForNative

  • DisableNGenRundown

CollectSampleEvents

Define um valor que determina se os eventos de exemplo são coletados.

  • True

  • False

CollectGpuEvents

Define um valor que determina se os eventos gerados pela DX são coletados.

  • True

  • False

CollectFileIO

Define um valor que determina se os eventos de e/S de arquivo são coletados.

  • True

  • False

UserBufferSettings

Especifica a lista de parâmetros de configurações do buffer de usuário.

Deve conter estes elementos:

  • BufferFlushTimer

  • BufferSize

  • MinimumBuffers

  • MaximumBuffers

KernelBufferSettings

Especifica a lista de parâmetros de configurações do buffer de kernel.

Deve conter estes elementos:

  • BufferFlushTimer

  • BufferSize

  • MinimumBuffers

  • MaximumBuffers

BufferFlushTimer

Especifica o timer de liberação de buffers ETW.

Um inteiro positivo.

BufferSize

Quantidade de memória alocada para cada buffer de sessão de rastreamento de eventos, em kilobytes.

Um número de 0 a 1024.

MinimumBuffers

O número mínimo de buffers alocados para o pool de buffer da sessão de rastreamento de eventos.

Um inteiro positivo maior que ou igual a duas vezes o número de núcleos lógicos.

MaximumBuffers

Número máximo de buffers alocados para o pool de buffer da sessão de rastreamento de eventos.

Um número maior ou igual a MinimumBuffers.

JustMyCode

Especifica a lista de diretórios Just My Code.

Uma lista de zero ou mais elementos de MyCodeDirectory.

MyCodeDirectory

Especifica um diretório que contém seu código.

Um caminho absoluto.

Hh543788.collapse_all(pt-br,VS.110).gifExemplo

Em vez de criar um arquivo de configuração do início, você pode copiar o exemplo a seguir e modificá-lo para atender às suas necessidades.

<?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>