다음을 통해 공유


동시성 시각화 도우미 명령줄 유틸리티(CVCollectionCmd)

동시성 시각화 도우미 명령줄 유틸리티 (CVCollectionCmd.exe)를 사용 하 여 수집 하 고 추적 하는 Visual Studio 사용 하지 않는 컴퓨터에서 처리할 수 있습니다.추적이 수집 된 동시성 시각화 도우미에서이 볼 수 있는 Visual Studio 컴퓨터에서 열 수 있습니다.

설치 하 고 배포 유틸리티

Visual Studio DVD 로부터 설치.

  1. DVD에서 "동시성 시각화 도우미" 라는 최상위 폴더 찾기

  2. 이 폴더에서 concvi_standalonecollection.exe를 실행 합니다.

Visual Studio 웹 설치 파일을 설치 하려면

  1. 다운로드 한 설치 파일을 찾습니다.파일 이름을 다운로드 하는 Visual Studio 버전에 따라 달라 집니다.

  2. 명령 프롬프트 창을 열고 설치 파일이 위치한 디렉터리로 변경 합니다.

  3. 명령을 실행 합니다. <install file>/layout, 어디 install file 다운로드 한 파일의 이름입니다.레이아웃 명령을 "동시성 시각화 도우미" 이라는 폴더를 만듭니다.

  4. "동시성 시각화" 폴더에서 concvi_standalonecollection.exe를 실행 합니다.

Visual Studio 없는 컴퓨터에 배포 하려면

  1. Concvi_standalonecollection.exe를 Visual Studio 있는 컴퓨터를 찾습니다.(앞의 두 절차 참조).

  2. Concvi_standalonecollection.exe Visual Studio 없는 컴퓨터에 복사 합니다.

  3. Concvi_standalonecollection.exe를 실행 합니다.

명령 및 매개 변수

사용 하 여 이러한 명령 및 매개 변수에 대 한 도움말을 얻을 수 있습니다.

CvCollectionCmd /?

옵션

설명

매개 변수

반환 값

쿼리

수집을 시작할 수 있는지 여부를 반환 합니다.

없음

컬렉션을 시작할 준비가 된 경우에 0입니다.

1 컬렉션에 이미 진행 중인 경우입니다.

컬렉션 진행 되지만 하나 이상의 필수에 없으면 2 ETW 세션이 이미 사용 하도록 설정 합니다.

시작

지정한 프로세스에서 동시성 시각화 도우미를 실행합니다.

실행 파일의 경로입니다.

실행에 성공 하면 0입니다.

1 대상 응용 프로그램을 시작할 수 없습니다 때문에 실행 하지 못했습니다.

Cvcollectioncmd에 지정 된 출력 디렉터리에 쓸 수 있는 권한이 없기 때문에 실행에 실패 한 경우 13.

연결

시스템 추적 수집을 시작 됩니다. 그렇지 않으면 지정 된 경우 프로세스에를 첨부 합니다.

없음

첨부 파일을 성공한 경우 0입니다.

1 첨부 파일에 잘못 되었거나 모호한 지정한 프로세스 이기 때문에 실패 한 경우.

Cvcollectioncmd에 지정 된 출력 디렉터리에 쓸 수 있는 권한이 없기 때문에 첨부 파일에 실패 한 경우 13.

분리

수집을 중지합니다.

없음

대장은 성공한 경우 0입니다.

1 컬렉션 현재 진행 되 고 있으므로 대장은 실패 한 경우.

대장은 컬렉션 중지 시킬 수 없는 때문에 실패 한 경우 2.

분석

지정한 추적을 분석합니다.

CVTrace 파일의 전체 경로입니다.

분석 성공한 경우 0입니다.

1 분석 지정한 추적 시스템 전체의 했지만 대상 프로세스를 지정 하 고 있기 때문에 시작할 수 없는 경우.

2 분석 추적 시스템 및 프로세스에 없기 때문에 시작할 수 없는 경우에 지정 되었습니다.

지정한 프로세스 올바르지 않기 때문에 분석에 실패 한 경우 3.

지정 된 CVTrace 파일이 올바르지 않기 때문에 분석에 실패 한 경우 4.

LaunchArgs

실행 대상 인수를 지정합니다.시작 명령에만이 옵션을 적용합니다.

응용 프로그램의 명령줄 인수입니다.

없음

Outdir

추적 파일을 저장할 디렉터리를 지정 합니다.시작 및 연결 명령에 적용 됩니다.

디렉터리 경로 또는 상대 경로입니다.

없음

프로세스

Attach 명령을 실행 될 때에 첨부할 프로세스나 프로세스 분석 명령이 실행 되 면 분석 하는 추적에 지정 합니다.연결 하 고 Analyze 명령에 적용 됩니다.

PID 또는 프로세스의 이름입니다.

없음

구성

원하는 모음 설정을 기본값 이외의 경우 구성 파일의 경로 지정 합니다.시작, 연결, 및 Analyze 명령에 적용 됩니다.

디렉터리 경로 또는 XML 구성 파일의 상대 경로입니다.

없음

사용자 지정 구성 설정

Cvcollectioncmd를 사용 하 여 추적을 수집 하 고 수집 설정을 사용자 지정 하려는 경우 구성 파일을 지정할 수입니다.

[!참고]

직접 Visual Studio 사용 하 여 추적을 수집 하는 경우 구성 파일을 수정 하지 마십시오.대신 사용 하 여 고급 설정 설정을 수정 하려면 대화 상자.

컬렉션 설정을 수정 하려면 컴퓨터에서 CVCollectionCmd 유틸리티를 실행 구성 파일을 만듭니다.구성 파일을 처음부터 만들 수 있습니다 또는 Visual Studio 설치 되어 있는 컴퓨터에서 구성 파일을 복사 하 고는 수정할 수 있습니다.파일 명명 된 UserConfig.xml 및 위치는 로컬 AppData 폴더.이 유틸리티를 실행 하면 Config 옵션을 사용 하 여 시작, 연결, 또는 분석 명령과 함께.구성 옵션과 관련 된 매개 변수에서 구성 파일의 경로 지정 합니다.

Hh543788.collapse_all(ko-kr,VS.110).gif구성 파일의 태그

구성 파일은 XML 기반입니다.다음은 유효한 태그와 값입니다.

Tag

설명

구성

전체 구성 파일을 demarcates.

이러한 요소를 포함 해야 합니다.

  • MinorVersion

  • MajorVersion

MajorVersion

구성 파일의 주 버전을 지정합니다.

1에 대 한 Visual Studio 2012 프로젝트.그렇지 않으면 1을 유틸리티가 작동 하지 않습니다.

MinorVersion

Config 파일의 부 버전을 지정합니다.

0에 대 한 Visual Studio 2012 프로젝트.그렇지 않으면 0을 유틸리티가 작동 하지 않습니다.

IncludeEnvSymbolPath

환경 기호 경로 (_NT_SYMBOL_PATH)의 사용 여부를 결정 하는 값을 설정 합니다.

  • True

  • False

DeleteEtlsAfterAnalysis

분석을 완료 하면 ETL 파일의 삭제 여부를 결정 하는 값을 설정 합니다.

  • True

  • False

SymbolPath

기호 서버의 경로를 지정합니다.자세한 내용은 사용 디버그 기호 파일을 구하려면 Microsoft 기호 서버.

디렉터리 이름 또는 URL입니다.

Markers

마커 공급자 목록이 표시 됩니다.

0 개 이상의 MarkerProvider 요소가 포함 될 수 있습니다.

MarkerProvider

마커를 단일 공급자를 지정합니다.

이러한 요소를 포함 해야 합니다.

  • 수준

  • GUID

  • Name

이러한 요소를 포함할 수 있습니다.

  • 범주

  • IsEnabled

수준

MarkerProvider 중요도 수준을 설정합니다.

  • Low

  • 보통

  • High

  • Critical

  • 모든 항목

Guid

마커 ETW 공급자의 전역 고유 식별자입니다.

GUID입니다.

Name

표시기 공급자에 대 한 설명을 지정합니다.

문자열

범주

공급자에 대 한 마커를 수집 범주를 지정 합니다.

쉼표로 구분 된 문자열의 숫자 또는 숫자 범위입니다.

IsEnabled

마커 공급자 컬렉션을 사용할 수 있는지 여부를 결정 하는 값을 설정 합니다.

  • True

  • False

FilterConfig

ETW 이벤트 컬렉션에서 필터링 된 구성 옵션 목록을 지정 합니다.

이러한 요소를 포함할 수 있습니다.

  • CollectClrEvents

  • ClrCollectionOptions

  • CollectSampleEvents

  • CollectGpuEvents

  • CollectFileIO

CollectClrEvents

CLR 이벤트를 수집 하는지 여부를 결정 하는 값을 설정 합니다.

  • True

  • False

ClrCollectionOptions

네이티브 응용 프로그램을 CLR 이벤트를 수집할 여부 및 NGEN rundown 이벤트를 수집할 수를 지정 합니다.

하나, 둘, 또는 이러한 값을 포함할 수 있습니다.

  • CollectForNative

  • DisableNGenRundown

CollectSampleEvents

샘플 이벤트를 수집 하는지 여부를 결정 하는 값을 설정 합니다.

  • True

  • False

CollectGpuEvents

DX에 의해 생성 된 이벤트를 수집 하는지 여부를 결정 하는 값을 설정 합니다.

  • True

  • False

CollectFileIO

파일 I/O 이벤트 수집 여부를 결정 하는 값을 설정 합니다.

  • True

  • False

UserBufferSettings

사용자 버퍼 설정 매개 변수 목록을 지정합니다.

이러한 요소를 포함 해야 합니다.

  • BufferFlushTimer

  • BufferSize

  • MinimumBuffers

  • MaximumBuffers

KernelBufferSettings

커널 버퍼 설정 매개 변수 목록을 지정합니다.

이러한 요소를 포함 해야 합니다.

  • BufferFlushTimer

  • BufferSize

  • MinimumBuffers

  • MaximumBuffers

BufferFlushTimer

ETW 버퍼 플러시 타이머를 지정합니다.

양의 정수

BufferSize

각 이벤트 추적 세션 버퍼 크기 (kb)에 할당 된 메모리 양입니다.

1024는 숫자 0에서입니다.

MinimumBuffers

이벤트 추적 세션 버퍼 풀의 할당 된 버퍼의 최소 개수입니다.

두 번 논리 코어 개수 보다 크거나는 양의 정수입니다.

MaximumBuffers

이벤트 추적 세션 버퍼 풀의 할당 된 버퍼의 최대 수입니다.

MinimumBuffers 보다 크거나 같은 숫자입니다.

JustMyCode

내 코드만 디렉터리 목록을 지정합니다.

0 개 이상의 MyCodeDirectory 요소 목록을 제공 합니다.

MyCodeDirectory

코드를 포함 하는 디렉터리를 지정 합니다.

절대 경로입니다.

Hh543788.collapse_all(ko-kr,VS.110).gif예제

구성 파일을 처음부터 만드는 대신 다음 예제를 복사 하 고 요구 사항을 충족 하도록 수정할 수 있습니다.

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