Share via


並行視覺化檢視 SDK

您可以使用並行視覺化檢視 SDK 檢測原始程式碼,以便在並行視覺化檢視中顯示其他資訊。 您可以在程式碼中將其他資料與階段和事件關聯。 這些額外的視覺效果稱為標記。 如需入門逐步解說,請參閱並行視覺化檢視 SDK 簡介

屬性

旗標、範圍和訊息各有兩個屬性︰分類和重要性。 在 [進階設定] 對話方塊中,您可以使用這些屬性來篩選顯示的標記集。 此外,這些屬性會影響標記的視覺化表示。 例如,旗標的大小用來表示重要性。 此外,色彩用來表示分類。

基本使用方式

並行視覺化檢視會顯示您可以用來產生標記的預設提供者。 提供者已經和並行視覺化檢視一起註冊,您不需要執行任何動作就能在 UI 中顯示標記。

C# 和 Visual Basic

在 C#、Visual Basic 和其他受控程式碼中,透過呼叫 Markers 類別中的方法來使用預設提供者。 它公開了四種用於產生標記的方法:WriteFlagEnterSpanWriteMessageWriteAlert。 視您是否要使用屬性的預設值而定,這些函式有多個多載。 最簡單的多載採用只有字串的參數,指定事件的描述。 描述會顯示在並行視覺化檢視報表中。

在 C# 或 Visual Basic 專案中加入 SDK 支援
  1. 在功能表列上依序選擇 [分析]、[並行視覺化檢視]、[將 SDK 加入專案]

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

  3. 在程式碼中加入 imports 或 using 陳述式。

    using Microsoft.ConcurrencyVisualizer.Instrumentation;
    

C++

在 C++ 中,建立marker_series 類別物件,並使用它來呼叫函式。 marker_series 類別會顯示出三個函式來產生標記:marker_series:: write_flag 方法marker_series:: write_message 方法marker_series:: write_alert 方法

在 C++ 或 C 專案中加入 SDK 支援
  1. 在功能表列上依序選擇 [分析]、[並行視覺化檢視]、[將 SDK 加入專案]

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

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

  4. 在程式碼中加入 using 陳述式。

    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 專案中使用標記系列

  1. 若要使用新的 MarkerSeries,請先使用 MarkerWriter 物件來建立它,然後直接從新系列產生標記事件。

    MarkerSeries series1 = myMarkerWriter.CreateMarkerSeries("Series 1");
    series1.WriteFlag("My flag");
    

在 C++ 專案中使用標記系列

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

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

在 C 專案中使用標記系列

  1. 使用 CvCreateMarkerSeries 函式建立 PCV_MARKERSERIES。

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

另請參閱

標題 描述
C++ 程式庫參考 描述 C++ 的並行視覺化檢視 API。
C 程式庫參考 描述 C 的並行視覺化檢視 API。
檢測 描述 Managed 程式碼的並行視覺化檢視 API。
並行視覺化檢視 使用並行方法所產生且包含執行緒執行資料的程式碼剖析資料檔案之檢視和報告的參考資訊。