建議使用 Visual Studio 2017

進階設定對話方塊 (並行視覺化檢視)

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

使用並行視覺化檢視的進階設定 對話方塊,您可以控制如何收集追蹤。對話方塊有符號的索引標籤,Just My Code,緩衝,篩選, CLR 事件、標記、提供者和檔案的索引標籤。

並行視覺化檢視會使用和 Visual Studio 偵錯工具相同的符號設定。 並行視覺化檢視會使用設定解析與效能有關的呼叫堆疊。當處理追蹤時, 並行視覺化檢視存取在設定頁面上所指定的符號伺服器。當這個資料依靠網路存取時,追蹤處理速度會變慢。若要縮短解析符號的時間,您可以在本機快取符號。 如果符號已下載, Visual Studio 會從本機快取中載入它們。

根據預設, Just My Code 是 Visual Studio 中目前方案的 .exe 和 .dll 檔案集。 因此,使用 Just My Code 功能篩選呼叫堆疊, 並行視覺化檢視會評估這一組檔案。 在 Just My Code索引標籤上,您可以加入並行視覺化檢視用以提供 Just My Code 使用,包含 .exe 和 .dll 檔案的目錄。

在收集追蹤時,.exe 和 .dll 檔案的路徑會儲存在追蹤檔中。變更這項設定不會影響任何先前已收集的追蹤。

在收集追蹤時,並行視覺化檢視使用 Windows 事件追蹤。ETW 事件使用各種不同的緩衝區儲存事件。預設 ETW 緩衝區設定在並非在所有情況下都是最佳,而在一些情況下,可能會導致問題 (例如遺失事件)。您可以使用緩衝索引標籤設定 ETW 緩衝區設定。 如需詳細資訊,請參閱 事件追蹤EVENT_TRACE_PROPERTIES 結構

在篩選索引標籤,您可以選擇並行視覺化檢視收集的事件集。 選取事件的子集會限制報告中顯示之資料的型別,以減少每一個追蹤的大小,並減少需要處理追蹤的時間。

CLR 事件

Common Language Runtime (CLR) 所產生的事件可讓並行視覺化檢視解析 Managed 呼叫堆疊。如果您停用 CLR 事件的集合,可降低追蹤大小,但部分呼叫堆疊無法解析。因此,部分 CPU 執行緒活動可能會不正確地分類。

收集原生處理序

根據預設, 只有在 Managed 處理序設定檔時CLR 才會收集事件,因為它們對原生處理序通常不是必要的。在某些情況下 (例如,當原生處理序裝載 CLR) ,可能必須收集原生處理序中的 CLR 事件。如果是這種情況,請選取 [收集原生處理序] 核取方塊。

停用取消事件

CLR 會從兩個提供者產生事件: 執行階段和取消。如果您要收集 CLR 執行階段事件,不過避免收集取消事件,請選取 [停用取消事件] 核取方塊。這會減少由集合所產生的追蹤檔的大小,但是某些堆疊可能無法解析。 如需詳細資訊,請參閱CLR ETW 提供者

範例事件

您可以使用取樣事件來收集執行緒執行的呼叫堆疊。 這些事件在目前處理序執行的執行緒大約以毫秒時間收集。 如果您停用取樣事件的集合,以降低所收集的追蹤的大小,但是,您無法檢視與執行緒執行的任何呼叫堆疊。

GPU 事件

GPU事件是 DirectX 所產生的事件。 如果您停用事件 GPU 的集合,以降低所收集的追蹤的大小,但是,您無法檢視在套用檢視的任何 GPU 活動或 DirectX [執行緒檢視] 的引擎活動。

檔案 I/O 事件

檔案 I/O 事件表示目前處理序對磁碟的存取。如果您停用檔案 I/O 事件,以降低追蹤的大小,但是,執行緒檢視不會報告磁碟通道或磁碟作業的所有資訊。

在符號索引標籤上,您可以在並行視覺化檢視設定一組顯示為標記的 ETW 提供者。您也可以依據重要性和 ETW 分類篩選建立資料集合。如果您使用 並行視覺化檢視 SDK 和使用自己的標記提供者,您可加以註冊這個位置,使其出現在執行緒檢視。

加入新的提供者

如果您的程式碼使用 並行視覺化檢視 SDK 或產生遵循 EventSource 慣例的 ETW 事件,您可以藉由在這個對話方塊簽入檢視並行視覺化檢視的這些事件。

在名稱欄位,輸入說明由提供者所產生的事件型別之名稱。在GUID 欄位中,輸入與這個提供者的 GUID。(一個 GUID 與每個 ETW 提供者相關聯)。

或者,您可以指定是否要根據分類或重要性篩選從這個提供者的事件。您可以使用類別欄位加入根據並行視覺化檢視 SDK 分類的篩選條件。若要執行這項作業,請輸入分類的分類或以逗號分隔的字串作為範圍。這指定在目前提供者所要顯示的事件分類。如果您增加 EventSource 提供者,您可以使用類別欄位篩選 ETW 關鍵字。由於關鍵字是位元遮罩,您可以使用整數以逗號分隔的字串中指定遮罩中的位元設定。 例如,「1,2」設定第一個和第二個欄位,因此,這會轉譯為十進位的6。

您可以使用這個重要性層級清單會篩選出具有重要性或 ETW 等級所指定的值小於的事件。

正在設定現有的提供者

若要編輯與現有提供者有關的設定,請從清單中選取該資料行,然後選取 [編輯提供者] 按鈕。您可以變更這個名稱、GUID 和篩選設定。

從並行視覺化檢視報表的標記資料篩選。

如果您不想讓為特定提供者的資料出現在未來追蹤,請清除旁邊核取方塊要移除的選項。

在 [檔案] 索引標籤上,您可以指定每次收集追蹤時,追蹤檔儲存的目錄。並行視覺化檢視會產生針對每個追蹤的四個檔案:

  • 核心模式事件追蹤記錄 (ETL) 檔 (*.kernel.etl)

  • 使用者模式事件追蹤記錄檔 (*.user.etl)

  • 並行視覺化檢視資料檔案 (*.CVData)

  • 並行視覺化檢視追蹤檔 (*.CVTrace)

兩個 ETL 檔案儲存未經處理的追蹤資料,而兩個並行視覺化檢視檔案儲存已處理的資料。在追蹤處理之後,未經處理的 ETL 檔案通常不會使用。選取核取方塊刪除事件追蹤記錄 (ETL) 在分析後檔案 以減少在您磁碟上儲存的追蹤資料量。

Just My Code
並行視覺化檢視中的標記

顯示: