共用方式為


便於檢視和檢視資料

輸入的視覺化檢視和自訂的檢視器呈現的資料都是開發人員迅速有意義的方式。 運算式評估工具 (EE) 可支援協力廠商型別視覺化檢視,以及提供它自己的自訂檢視器。

Visual Studio決定多少的型別視覺化檢視和自訂的檢視器物件的型別相關聯藉由呼叫IDebugProperty3::GetCustomViewerCount方法。 如果有一個以上的型別視覺化檢視或自訂的檢視器可用,會呼叫 Visual Studio IDebugProperty3::GetCustomViewerList方法來擷取一份這些視覺化檢視和檢視器 (事實上,一份CLSIDs 實作之視覺化工具和檢視器) 並呈現給使用者。

支援的型別視覺化檢視

有幾個得知 ee 給予必須實作用來支援型別視覺化檢視的介面。 這些介面可以區分為兩大類: 所列出的型別視覺化檢視,另一種存取屬性的資料。

列出型別視覺化檢視

得知 ee 給予支援清單的型別視覺化檢視,在實作IDebugProperty3::GetCustomViewerCountIDebugProperty3::GetCustomViewerList。 這些方法會傳遞至對應的方法呼叫IEEVisualizerService::GetCustomViewerCountIEEVisualizerService::GetCustomViewerList

IEEVisualizerService藉由呼叫IEEVisualizerServiceProvider::CreateVisualizerService。 這個方法會要求IDebugBinder3介面,您可以從取得IDebugBinder介面傳遞至IDebugParsedExpression::EvaluateSyncIEEVisualizerServiceProvider::CreateVisualizerService也需要IDebugSymbolProviderIDebugAddress介面傳給此IDebugParsedExpression::EvaluateSync。 建立所需的最後一個介面IEEVisualizerService介面是IEEVisualizerDataProvider得知 ee 給予實作的介面。 這個介面允許正以視覺化檢視的屬性進行變更。 所有的屬性資料封裝在IDebugObject也得知 ee 給予實作的介面。

存取屬性的資料

存取屬性的資料會透過IPropertyProxyEESide介面。 若要取得這個介面,呼叫 Visual Studio QueryInterface屬性之物件取得IPropertyProxyProvider介面 (在同一個實作的物件上實作IDebugProperty3介面),接著再呼叫IPropertyProxyProvider::GetPropertyProxy方法,以取得IPropertyProxyEESide介面。

所有資料都傳遞進出IPropertyProxyEESide介面會封裝在IEEDataStorage介面。 這個介面表示的位元組陣列,而 Visual Studio,並得知 ee 給予由存取關聯式資料庫。 變更屬性的資料時,會建立 Visual Studio 的IEEDataStorage物件持有的新資料和呼叫IPropertyProxyEESide::CreateReplacementObject與該資料物件,以取得新的IEEDataStorage物件,反而會傳遞至IPropertyProxyEESide::InPlaceUpdateObject更新屬性的資料。 IPropertyProxyEESide::CreateReplacementObject可讓自己實作的類別具現化 EE IEEDataStorage介面。

支援的自訂檢視器

旗標DBG_ATTRIB_VALUE_CUSTOM_VIEWER中設定的dwAttrib欄位的DEBUG_PROPERTY_INFO結構 (呼叫所傳回的IDebugProperty2::GetPropertyInfo) 表示該物件具有與其相關聯的自訂檢視器。 當設定這個旗標時,會取得 Visual Studio IDebugProperty3介面從IDebugProperty2介面使用QueryInterface

如果使用者選取自訂的檢視器] 時,Visual Studio 會具現化自訂檢視器],並使用 「 檢視器 」 的CLSID所提供的IDebugProperty3::GetCustomViewerList方法。 然後呼叫 Visual Studio IDebugCustomViewer::DisplayValue來向使用者顯示的值。

一般情況下, IDebugCustomViewer::DisplayValue呈現唯讀方式檢視資料。 若要允許資料變更,得知 ee 給予必須實作自訂介面屬性的物件上支援變更的資料。 IDebugCustomViewer::DisplayValue方法會使用這個自訂介面以支援變更的資料。 方法會在 [尋找自訂介面IDebugProperty2介面做為傳入的pDebugProperty引數。

同時支援輸入視覺化檢視和自訂的檢視器

型別視覺化檢視,並在 [自訂檢視器,可支援 EE IDebugProperty3::GetCustomViewerCountIDebugProperty3::GetCustomViewerList方法。 首先,得知 ee 給予新增的數目在提供的自訂檢視器所傳回的值IEEVisualizerService::GetCustomViewerCount方法。 其次,得知 ee 給予附加CLSIDs 自己自訂的檢視器所傳回的清單的IEEVisualizerService::GetCustomViewerList方法。

請參閱

概念

偵錯工作

型別視覺化檢視 」 及 「 自訂檢視器]