共用方式為


並行視覺化檢視命令列公用程式 (CVCollectionCmd)

您可以使用 [並行視覺化檢視] 命令列公用程式 (CVCollectionCmd.exe)去 收集並在沒有 Visual Studio 的電腦上的處理序追蹤。您可以在英文版的 Visual Studio 的電腦上收集的追蹤,以便在 [並行視覺化檢視]檢視它們。

安裝和部署公用程式

安裝 Visual Studio DVD 功能

  1. 在 DVD,尋找最上層資料夾名為「並行視覺化檢視」。

  2. 在資料夾,請執行 concvi_standalonecollection.exe。

從 Visual Studio Web 安裝檔案去安裝

  1. 尋找您下載的安裝檔案。檔案名稱取決於您下載 Visual Studio 版本。

  2. 開啟[命令提示字元] 視窗並變更尋找安裝檔案的目錄。

  3. 執行命令 <install file>/layout, install file 是下載的檔案名稱。設定命令會建立名為「並行視覺化檢視」的資料夾。

  4. 在「並行視覺化檢視」資料夾,請執行 concvi_standalonecollection.exe。

部署在沒有 Visual Studio 的電腦上。

  1. 在具有 Visual Studio 的電腦找出 concvi_standalonecollection.exe 。(請參閱前兩個程序)。

  2. 複製 concvi_standalonecollection.exe 至沒有 Visual Studio 的電腦。

  3. 執行 concvi_standalonecollection.exe。

命令和參數

您可以從這些命令和參數的說明使用:

CvCollectionCmd /?

選項

描述

參數

傳回值

查詢

傳回收集是否可以開始。

None

0,如果集合開始。

1,如果收集已在執行中。

2,如果集合不在執行中,不過,一或多個必要的 ETW 工作階段已啟用。

啟動

執行指定的[並行視覺化檢視]的處理序。

可執行檔的路徑。

如果為 0,則執行成功。

1,執行失敗,因為無法啟動目標應用程式。

如果為 13,則會失敗,因為 CVCollectionCmd 沒有足夠的使用權限給指定的輸出目錄。

附加

開始收集追蹤系統範圍,否則,如果已指定處理序則附加在處理序上。

無。

0,如果附件成功。

1,無法附加至指定的處理序,因為它是無效或模稜兩可的。

如果為 13,則為附加失敗,因為 CVCollectionCmd 沒有足夠的使用權限給指定的輸出目錄。

中斷連結

停止集合。

無。

如果為 0,則個別子項目成功。

如果為 1,則獨立子項目失敗,因為集合目前正在進行中。

如果為 2,則獨立子項目失敗,因為集合無法停止。

分析

分析指定的追蹤檔案。

CVT追蹤檔案的完整路徑。

0,如果程式碼剖析成功。

如果為 1,則分析無法啟動,因為指定的追蹤是全系統的,不過,目標處理序尚未指定。

如果為2,澤分析失敗,因為追蹤不是系統範圍,但指定了處理序。

如果為3,分析失敗,因為指定的處理序無效。

如果為4,分析失敗,因為指定的 CVTrace 檔案無效。

LaunchArgs

指定目標可執行的引數。這個選項只適用於啟動命令。

要傳遞至應用程式的命令列引數。

無。

OutDir

指定要儲存輸出的目錄。適用於啟動和附加命令。

目錄路徑或相對路徑。

無。

處理序

當附加命令執行時,指定處理序附加,或是要分析分析命令時要追蹤的處理序執行。適用於附加和分析命令。

PID或處理序的名稱。

無。

組態

如果您要收集設定而不是預設值,指定組態檔的路徑。適用於啟動、附加和分析命令。

XML 組態檔的目錄路徑或相對路徑。

無。

自訂套用組態設定

如果您使用 CVCollectionCmd 收集追蹤,而您想要自訂收集設定,則會使用組態檔中指定這些項目。

注意事項注意事項

當您使用 Visual Studio 收集追蹤時,不要直接修改組態檔。相反地,請使用 進階設定 對話方塊修改設定。

若要變更設定,請在您要執行 CVCollectionCmd 公用程式之電腦上的組態檔。可以建立組態檔,或者您可以複製到已安裝 Visual Studio 的電腦上的組態檔並修改該。檔案會命名 UserConfig.xml [區域 AppData] 且位於資料夾中。當您執行公用程式時,請使用啟動一起使用來設定選項,附加或分析命令。在設定選項的參數,指定組態檔的路徑。

Hh543788.collapse_all(zh-tw,VS.110).gif組態檔標記

組態檔是 以XML- 為基礎的檔案。這裡有有效的標記和值:

Tag

描述

組態

標記為整個組態檔。

必須包含下列項目:

  • MinorVersion

  • MajorVersion

MajorVersion

指定組態檔中的主要版本。

對 Visual Studio 2012 專案必須是 1。如果不是 1,公用程式會無法運作。

MinorVersion

指定組態檔中的次要版本。

對 Visual Studio 2012 專案必須是 0。如果不是 0,公用程式會無法運作。

IncludeEnvSymbolPath

設定這個值決定是否要使用環境符號路徑 (_NT_SYMBOL_PATH)。

  • True

  • False

DeleteEtlsAfterAnalysis

當分析完成時,設定這個值決定 ETL 檔案是否已刪除。

  • True

  • False

SymbolPath

指定符號伺服器的路徑。如需詳細資訊,請參閱使用 Microsoft 符號伺服器取得偵錯符號檔。

目錄名稱或URL。

Markers

包含標記的提供者清單。

可能包含零個或多個 MarkerProvider 項目。

MarkerProvider

指定單一標記提供者。

必須包含下列項目:

  • 層級

  • GUID

  • 名稱

可以包含下列項目:

  • 分類

  • IsEnabled

層級

設定 MarkerProvider 的重要性。

  • Normal

  • Critical

  • 所有項目

Guid

標記 ETW 提供者的全域唯一識別項。

GUID。

名稱

指定標記提供者的描述。

字串。

分類

指定為標記提供者收集的類別。

數字或數字的範圍的以逗號分隔的字串。

IsEnabled

設定這個值決定標記提供者集合是否已啟用。

  • True

  • False

FilterConfig

指定要從集合中篩選 ETW 事件的組態選項清單。

可能包含下列項目:

  • CollectClrEvents

  • ClrCollectionOptions

  • CollectSampleEvents

  • CollectGpuEvents

  • CollectFileIO

CollectClrEvents

設定這個值決定 CLR 事件的收集。

  • True

  • False

ClrCollectionOptions

指定是否要收集原生應用程式的 CLR 事件和收集 NGEN 取消事件。

可能包含下列其中一個值、兩個值或是都沒有:

  • CollectForNative

  • DisableNGenRundown

CollectSampleEvents

設定這個值決定是否要收集取樣事件。

  • True

  • False

CollectGpuEvents

設定這個值決定 DX 產生事件的收集。

  • True

  • False

CollectFileIO

設定這個值決定是否要收集I/O檔案事件。

  • True

  • False

UserBufferSettings

指定使用者緩衝區設定參數的清單。

必須包含下列項目:

  • BufferFlushTimer

  • 緩衝區大小

  • MinimumBuffers

  • MaximumBuffers

KernelBufferSettings

指定核心緩衝區設定參數的清單。

必須包含下列項目:

  • BufferFlushTimer

  • 緩衝區大小

  • MinimumBuffers

  • MaximumBuffers

BufferFlushTimer

指定 ETW 緩衝區足夠的計時器。

正整數

緩衝區大小

針對每一個事件追蹤工作階段緩衝區所配置的記憶體數量,以 KB 為單位。

從 0 到 1024 的數字。

MinimumBuffers

為事件追蹤工作階段的緩衝區集區所配置的最小緩衝區數目。

正整數大於或等於兩個邏輯核心數目。

MaximumBuffers

為事件追蹤工作階段的緩衝區集區所配置的最大緩衝區數目。

數值必須大於或等於最小緩衝區。

JustMyCode

指定 Just My Code 的目錄清單。

零或多個 MyCodeDirectory 項目清單。

MyCodeDirectory

指定包含您程式碼的目錄。

絕對路徑

Hh543788.collapse_all(zh-tw,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>