Share via


Utilidad de línea de comandos Visualizador de simultaneidad (CVCollectionCmd)

Se puede utilizar el servicio de línea de comandos del Visualizador de simultaneidad (CVCollectionCmd.exe) para recopilar y procesar los seguimientos en los equipos que no tengan Visual Studio.Se pueden abrir los seguimientos recopilados en un equipo que tiene Visual Studio de manera que los pueda ver en el Visualizador de simultaneidad

Instalación e implementación del servicio

Para instalar desde un DVD de Visual Studio

  1. En el DVD, busque la carpeta superior denominada "Visualizador de simultaneidad".

  2. En esta carpeta, ejecute concvi_standalonecollection.exe.

Para instalar desde un archivo de instalación web de Visual Studio

  1. Busque el archivo de instalación que se ha descargado.El nombre de archivo depende de la versión de Visual Studio que se ha descargado.

  2. Abra una ventana de comando del sistema y vaya al directorio donde se encuentra el archivo de instalación.

  3. Ejecute el comando <install file>/layout, donde install file es el nombre del archivo que se ha descargado.El comando de diseño crea una carpeta denominada "Visualizador de simultaneidad".

  4. En la carpeta "Visualizador de simultaneidad", ejecute concvi_standalonecollection.exe.

Para implementarlo en un equipo que no tenga Visual Studio

  1. Busque concvi_standalonecollection.exe en un equipo con Visual Studio.(Vea los dos procedimientos anteriores).

  2. Copie concvi_standalonecollection.exe en el equipo que no tiene Visual Studio.

  3. Ejecute concvi_standalonecollection.exe.

Comandos y parámetros

Se puede obtener ayuda en estos comandos y parámetros mediante:

CvCollectionCmd /?

Opción

Descripción

Parámetros

valores devueltos

Consulta

Devuelve si la colección se puede iniciar.

None

0 si la colección está lista para empezar.

1 si la colección ya está en curso.

2 si la colección no está en progreso, pero uno o más de los ETW de sesiones requeridos ya están habilitados.

Iniciar

Ejecute el proceso especificado en el Visualizador de simultaneidad.

Ruta de acceso completa del ejecutable.

0 si la ejecución se realizó correctamente.

1 si la ejecución falló porque no se pudo iniciar la aplicación de destino.

13 si la ejecución falló porque CVCollectionCmd no tiene permisos suficientes para escribir en el directorio de resultados especificado.

Asociar

Comienza obteniendo un seguimiento que abarca todo el sistema; si no, se asocia a un proceso, si se ha especificado uno.

Ninguno.

0 si los datos adjuntos se completan correctamente.

1 si fallaron los datos adjuntos porque el proceso especificado no es válido o ambiguo.

13 si fallaron los datos adjuntos porque CVCollectionCmd no tiene permisos suficientes para escribir en el directorio de salida especificado.

Desasociar

Detiene la recolección.

Ninguno.

0 si la desasociación se realizó correctamente.

1 si la desasociación falló porque la colección no está actualmente en curso.

2 si la desasociación falló porque no se pudo detener la colección.

Analyze

Analiza el seguimiento especificado.

La ruta de acceso completa del archivo CVTrace.

0 si el análisis se realizó correctamente.

1 si el análisis no se puede iniciar porque el seguimiento especificado abarca todo el sistema, pero ningún proceso de destino se ha especificado.

2 si el análisis no se puede iniciar porque el seguimiento no abarca todo el sistema y un proceso se ha especificado.

3 si el análisis falló debido a que el proceso especificado no es válido.

4 si el análisis falló porque el archivo CVTrace especificado no es válido.

LaunchArgs

Especifica los argumentos ejecutables de destino.Esta opción se aplica sólo al comando de lanzamiento.

Argumentos de línea de comandos para la aplicación.

Ninguno.

OutDir

Especifica el directorio en el que se van a guardar los archivos de seguimiento.Se aplica a los comandos Iniciar y Adjuntar.

Una ruta de acceso de directorio o la ruta de acceso relativa.

Ninguno.

Proceso

Especifica el proceso para asociar cuándo se ejecuta el comando Asociar, o el proceso en un seguimiento para analizar cuándo se ejecuta el comando Analizar.Se aplica a los comandos Adjuntar y Analizar.

El PID o el nombre del proceso.

Ninguno.

Config

Especifica la ruta de acceso del archivo de configuración, si desea que la configuración de la colección sea distinta de los valores predeterminados.Se aplica a los comandos Lanzar, Adjuntar y Analizar.

La ruta del directorio o la ruta de acceso relativa al archivo de configuración XML.

Ninguno.

Personalizar opciones de configuración

Si se utiliza CVCollectionCmd para recopilar seguimientos y se desea personalizar la configuración de la colección, utilice un archivo de configuración para especificarlos.

[!NOTA]

Cuando se utiliza Visual Studio para recopilar los seguimientos, no modifique directamente el archivo de configuración.En su lugar, utilice el cuadro de diálogo Configuración avanzada para modificar la configuración.

Para modificar la configuración de la colección, cree un archivo de configuración en el equipo donde se ejecutará la utilidad CVCollectionCmd.Se puede crear el archivo de configuración desde el principio, o se puede copiar el archivo de configuración en el equipo que tiene Visual Studio instalado y modificarlo.El archivo se denomina UserConfig.xml y se encuentra en la carpeta Local AppData.Cuando se ejecuta el servicio, utilice la opción de configuración junto con los comandos Lanzar, Adjuntar o Analizar.En el parámetro asociado a la opción de configuración, especifique la ruta de acceso del archivo de configuración.

Hh543788.collapse_all(es-es,VS.110).gifEtiquetas de archivo de configuración

El archivo de configuración está basado en XML.Aquí estan los valores y las etiquetas válidas:

Tag

Descripción

Valores

Config

Delimite el archivo de configuración global.

Debe contener estos elementos:

  • MinorVersion

  • MajorVersion

MajorVersion

Especifica la versión principal del archivo config.

Debe ser 1 para los proyectos Visual Studio 2012 .Si no es 1, la utilidad no funcionará.

MinorVersion

Especifica la versión secundaria del archivo config.

Debe ser 0 para los proyectos Visual Studio 2012 .Si no es 0, la utilidad no funcionará.

IncludeEnvSymbolPath

Establece un valor que determine si se utiliza la ruta de acceso del símbolo de entorno (_NT_SYMBOL_PATH como).

  • True

  • False

DeleteEtlsAfterAnalysis

Establece un valor que determina si los archivos ETL se eliminan cuando finaliza el análisis.

  • True

  • False

SymbolPath

Especifica la ruta de acceso del servidor de símbolos.Para obtener más información, consulte Utilizar el servidor de símbolos de Microsoft para obtener los archivos de símbolos de depuración.

Un nombre de directorio o la dirección URL.

Markers

Contiene la lista de proveedores de marcadores.

Puede contener cero o más elementos MarkerProvider.

MarkerProvider

Especifica un proveedor de marcador único.

Debe contener estos elementos:

  • Nivel

  • GUID

  • Nombre

Puede contener estos elementos:

  • Categorías

  • IsEnabled

Nivel

Establece el nivel de importancia de un MarkerProvider.

  • Low

  • Normal

  • High

  • Crítica

  • Todo el contenido

Guid

El identificador único global del proveedor de marcador ETW.

GUID.

Nombre

Especifica la descripción del proveedor del marcador.

Una cadena.

Categorías

Especifica las categorías recopiladas por el proveedor de marcador.

Una cadena de números o rangos de números delimitada por comas.

IsEnabled

Establece un valor que determine si el proveedor de marcador está habilitado para la colección.

  • True

  • False

FilterConfig

Especifica la lista de opciones de configuración de los eventos ETW que se filtran de la colección.

Puede contener estos elementos:

  • CollectClrEvents

  • ClrCollectionOptions

  • CollectSampleEvents

  • CollectGpuEvents

  • CollectFileIO

CollectClrEvents

Establecer un valor que determine si se recopilan eventos CLR.

  • True

  • False

ClrCollectionOptions

Especifica si se van a recopilar eventos CLR para aplicaciones nativas y si se van a recopilar eventos de detención de NGEN.

Puede contener uno, ambos o ninguno de estos valores:

  • CollectForNative

  • DisableNGenRundown

CollectSampleEvents

Establece un valor que determina si se recopilan eventos de ejemplo.

  • True

  • False

CollectGpuEvents

Establece un valor que determina si se recopilan los eventos generados por DX.

  • True

  • False

CollectFileIO

Establece un valor que determina si se recopilan eventos de E/S de archivos.

  • True

  • False

UserBufferSettings

Especifica la lista de parámetros de la configuración del búfer del usuario.

Debe contener estos elementos:

  • BufferFlushTimer

  • BufferSize

  • MinimumBuffers

  • MaximumBuffers

KernelBufferSettings

Especifica la lista de parámetros del búfer del Kernel.

Debe contener estos elementos:

  • BufferFlushTimer

  • BufferSize

  • MinimumBuffers

  • MaximumBuffers

BufferFlushTimer

Especifica el temporizador de vaciado de los búferes ETW.

Entero positivo.

BufferSize

Cantidad de memoria que se asigna para cada búfer de la sesión de seguimiento de eventos, en kilobytes.

Un número entre 0 y 1024.

MinimumBuffers

El número de búferes mínimo que se asignan para el grupo de búferes de la sesión de seguimiento de eventos.

Un entero positivo mayor o igual al doble del número de núcleos lógicos.

MaximumBuffers

Número de búferes máximo que se asignan para el grupo de búferes de la sesión de seguimiento de eventos.

Un número mayor o igual a MinimumBuffers.

JustMyCode

Especifica la lista de directorios de Sólo mi código.

Una lista de cero o más elementos de MyCodeDirectory.

MyCodeDirectory

Especifica un directorio que contenga el código.

Una ruta de acceso absoluta.

Hh543788.collapse_all(es-es,VS.110).gifEjemplo

En lugar de crear un archivo de configuración desde el principio, se puede copiar el ejemplo siguiente y. a continuación, modificarlo para satisfacer los requisitos.

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