共用方式為


並行視覺化檢視 SDK

您可以透過使用"並行視覺化檢視 SDK 顯示"取得視覺化檢視的其他資訊來偵測您的原始程式碼。 您可以結合其他資訊階段和程式碼中的事件。 這些額外的視覺化稱為x 標記。 如需入門逐步解說,請參閱 介紹並行視覺化檢視 SDK

屬性

旗標、間距和訊息都有兩個屬性:分類和重要性。 在 進階設定 對話方塊中,您可以使用這些屬性篩選已顯示的一組旗標。 此外,這些屬性會影響資料標記的視覺化表示。 例如,旗標的大小用於表示重要性。 此外,色彩來標示分類。

基本使用方式

"並行視覺化檢視"會公開許多您可用來產生標記的預設提供者。 提供者已與並行視覺化檢視一起註冊,而且您不需要在 UI 中執行其他標記工作。

Hh543789.collapse_all(zh-tw,VS.110).gifVisual Basic 和 C#

在 C# , Visual Basic 和其他 Managed 程式碼中,藉由呼叫 Markers使用預設提供者。 它會公開所產生的標記四個函式: WriteFlagEnterSpanWriteMessageWriteAlert。 這些函式的多載,視您要使用屬性的預設值。 最簡單的多載指定事件的說明字串參數。 這個描述"並行視覺化檢視" 的報表會顯示。

若要將 SDK 支援加入至 C# 或 Visual Basic 專案

  1. 在功能表列上,選取 [分析], [並行視覺化檢視], [將 SDK 加入專案]。

  2. 選取您要存取的 SDK, 然後選取 [將 SDK 加入選取的專案] 按鈕的專案。

  3. 加入匯入或使用陳述式至您的程式碼。

    using Microsoft.ConcurrencyVisualizer.Instrumentation;
    
    Imports Microsoft.ConcurrencyVisualizer.Instrumentation
    

Hh543789.collapse_all(zh-tw,VS.110).gifC++

在 C++ 中,建立 marker_series 類別 物件並使用它來呼叫函式。 marker_series 類別公開產生的標記、 marker_series::write_flag 方法marker_series::write_message 方法marker_series::write_alert 方法三個功能。

若要將 SDK 支援加入至 C++ 或 C 專案

  1. 在功能表列上,選取 [分析], [並行視覺化檢視], [將 SDK 加入專案]。

  2. 選取您要存取的 SDK, 然後選取 [將 SDK 加入選取的專案] 按鈕的專案。

  3. 對於 C++ ,包含 cvmarkersobj.h。 對於 C,包含 cvmarkers.h。

  4. 若要加入使用陳述式加入至您的程式碼。

    using namespace Concurrency::diagnostic;
    
  5. 建立新的 marker_series 物件,然後將 span 物件傳遞給它。

    marker_series mySeries;
    span s(mySeries, _T("Span description"));
    

自訂使用方式

針對進階案例中,並行視覺化檢視SDK以公開多個控制項。 兩個主要概念與其他進階案例:標記提供者和標記系列。 標記提供者是不同的 ETW 提供者 (每一個都有不同的 GUID)。 標記系列是由提供者所產生的事件序列的通道。 您可以使用它們來組織由標記提供者所產生的活動。

若要在 C# 或 Visual Basic 專案中使用新的標記提供者

  1. 建立 MarkerWriter 物件。 建構函式接受 GUID。

  2. 若要註冊提供者,請開啟 [並行視覺化檢視] 進階設定 對話方塊。 選取 [標記] 索引標籤然後選取 [加入新提供者] 按鈕。 在 進階設定 對話方塊中,輸入用來建立提供者和提供者描述的 GUID。

若要在 C++或 C專案使用新的標記提供者

  1. 使用 CvInitProvider 函式初始化 PCV_PROVIDER。 建構函式接受 GUID*和 PCV_PROVIDER*。

  2. 若要註冊提供者,請開啟 進階設定 對話方塊。 選取 [標記] 索引標籤然後選取 [加入新提供者] 按鈕。 在這個對話方塊中,輸入用來建立提供者和提供者描述的 GUID。

若要在 C# 或 Visual Basic 專案使用標記數列

  • 您可以使用 MarkerWriter 物件,則會使用新的 MarkerSeries,請先建立它,然後再產生標記事件直接從新系列。

    MarkerSeries series1 = myMarkerWriter.CreateMarkerSeries(″Series 1″);
    series1.WriteFlag(″My flag″);
    
    Dim series1 As New myMarkerWriter.CreateMarkerSeries(″Series 1″)
    series1.WriteFlag(″My flag″)
    

若要在 C++專案使用標記數列

  • 建立 marker_series 物件。 您可以從這個新一系列產生事件。

    marker_series series;
    series.write_flag(_T("Hello world!"));
    

若要在C專案使用標記數列

  • 使用 CvCreateMarkerSeries 函式建立 PCV_MARKERSERIES。

    PCV_MARKERSERIES series;
    CvCreatemarkerSeries(myProvider, _T("My Series"), &series);
    CvWriteFlag(series, _T("Writing a flag"));
    

相關主題

標題

描述

C++ 程式庫參考

描述 C++ 的並行視覺化檢視 API。

C 程式庫參考

描述 C的並行視覺化檢視 API。

Microsoft.ConcurrencyVisualizer.Instrumentation

描述 Managed 程式碼的並行視覺化檢視 API。

並行視覺化檢視

針對使用並行方法並包含執行緒執行資料的程式碼剖析資料檔案,提供其檢視和報告的參考資訊。