DkmClrValue 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
CLR 檢查查詢所產生的值。 結果格式器會使用這些值來產生 DkmEvaluationResults。
此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。
public ref class DkmClrValue : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("8186570c-2529-edb5-ef0b-4e485f902e89")]
public class DkmClrValue : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("8186570c-2529-edb5-ef0b-4e485f902e89")>]
type DkmClrValue = class
inherit DkmDataContainer
interface IDisposable
Public Class DkmClrValue
Inherits DkmDataContainer
Implements IDisposable
- 繼承
- 繼承
- 屬性
- 實作
屬性
Access |
訪問控制層級 (評估結果的公用、私人等) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
Address |
[選擇性]如果結果是位址 (,亦即位址旗標是在 Flags) 中設定,則指定備份值的位置。 當評估結果做為記憶體視窗或反組譯碼視窗的輸入時,就會使用這個值。 如果是指令位址,則必須設定 CPUInstruction 位址。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
Alias |
[選擇性]這個值的別名。 如果物件尚未指派別名,這個值將會是 Null。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
ArrayDimensions |
[選擇性]陣列的維度。 只有在這個 DkmClrValue 是陣列值時,這個值才有效。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
ArrayLowerBounds |
[選擇性]陣列的下限。 只有在這個 DkmClrValue 是陣列值時,這個值才有效。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
Category |
此評估結果的類別 (例如:數據、方法等) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
EvalFlags |
描述建立此 DkmClrValue 之評估結果的旗標。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
HostObjectValue |
[選擇性]如果 DkmClrValue 是可在調試程序進程中表示的值,則這個節點的值。 如果 DkmClrValue 屬於複雜類型,這個值會是 Null。 請注意,當基礎值是字串時,原生程式代碼的使用方式:如果您在機器碼中使用此字段,VARIANT 結構可能是 BSTR 或應該查詢 IDkmManagedStringRef 的 IUnknown。 如果您要在機器碼中建立此字段,請使用 BSTR 的 VARIANT。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
InspectionSession |
InspectionSession 可讓各種元件檢查目標進程中的數據,以儲存具有相同存留期的私人數據。 當使用者嘗試繼續此程式時,會關閉檢查會話。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
IsNull |
如果值為 null (,或沒有值) 則為 True。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
IsUnloaded |
如果已針對這個對象引發 'unloaded' 事件, (範例:DkmThread::Unload 呼叫) 或對象已關閉,則傳回 true。 請注意,檢查此狀態時,請務必小心,而不需同步處理,傳回的狀態在讀取之後可能無法再精確指示。 (繼承來源 DkmDataContainer) |
Language |
所使用的語言。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
NativeComPointer |
如果此值為 RCW,則為原生 COM 物件的介面指標。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
StackFrame |
用來作為解譯表達式檢查框架的堆疊框架。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
StorageType |
記憶體類型 (例如:評估結果的靜態) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
Type |
[選擇性]這個節點的運行時間類型。 例如 System.String。 當值無效且無法判斷類型時,此值為 Null。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
TypeModifierFlags |
類型修飾詞旗標 (例如:評估結果的 const) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
UniqueId |
可唯一識別此解譯結果的 Guid。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
ValueFlags |
描述此值的旗標。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
方法
Close() |
關閉 CLR 值以釋放與其相關聯的資源。 這個方法必須由要求評估查詢的物件叫用 (,例如:稱為 DkmCompiledClrInspectionQuery.Execute) 。 當相關聯的 DkmInspectionSession 物件關閉時,會自動關閉 DkmClrValue 物件。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
Create(DkmInspectionSession, DkmLanguage, DkmClrType, DkmEvaluationResultCategory, DkmEvaluationResultAccessType, DkmEvaluationResultStorageType, DkmEvaluationResultTypeModifierFlags, Boolean, Object, DkmStackWalkFrame, DkmEvaluationResultFlags, DkmClrValueFlags, UInt64, DkmDataAddress, String, ReadOnlyCollection<Int32>, ReadOnlyCollection<Int32>, DkmDataItem) |
Create 新的 DkmClrValue 物件實例。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
Dereference(DkmInspectionContext) |
取值此指標值以取得基礎值。 只有在 DkmClrValue 代表 Pointer 值時,才能使用這個方法。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
EvaluateDebuggerDisplayString(DkmWorkList, DkmInspectionContext, DkmClrType, String, DkmCompletionRoutine<DkmEvaluateDebuggerDisplayStringAsyncResult>) |
取得指定DebuggerDisplay屬性字串之CLR值的調試程式UI中顯示的字串。 這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
EvaluateToString(DkmInspectionContext) |
在指定的 DkmClrValue 所代表的物件上執行 ToString 覆寫。 如果值的類型為 物件,或未覆寫 ToString,則這個方法會傳回 null。 此方法需要啟用函式評估。 如果使用者或基於任何其他原因停用函式評估,這個方法會傳回 null。 如果函數評估因任何原因而失敗,此方法也會傳回 null。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
GetArrayElement(Int32[], DkmInspectionContext) |
取得陣列元素。 只有在 DkmClrValue 代表陣列值時,才能使用這個方法。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
GetDataItem<T>() |
取得已新增至這個容器實例的 『T』 實例。 如果此容器不包含 『T』,此函式會傳回 null。 (繼承來源 DkmDataContainer) |
GetEditableValueString(DkmInspectionContext, DkmClrCustomTypeInfo) |
取得可在UI中顯示指定 DkmClrValue 的可編輯值字串。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引進。 |
GetMemberValue(String, Int32, String, DkmInspectionContext) |
取得欄位或屬性的值做為 DkmClrValue。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
GetResult(DkmWorkList, DkmClrType, DkmClrCustomTypeInfo, DkmInspectionContext, ReadOnlyCollection<String>, String, String, DkmCompletionRoutine<DkmEvaluationAsyncResult>) |
格式化 DkmClrValue 並傳回 DkmEvaluationResult。 這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
GetUnderlyingString(DkmInspectionContext) |
取得值的基礎字串表示。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
GetValueString(DkmClrCustomTypeInfo, DkmInspectionContext, ReadOnlyCollection<String>) |
取得要顯示在指定 DkmClrValue UI 中的值字串。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引進。 |
GetValueString(DkmInspectionContext, ReadOnlyCollection<String>) |
取得要顯示在指定 DkmClrValue UI 中的值字串。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
HasUnderlyingString(DkmInspectionContext) |
判斷此值是否具有基礎字串表示。 如果此方法傳回 true,則使用者可以使用字串可視化檢視,在調試程式中檢視此值。 GetUnderlyingString 應該會傳回基礎字串表示。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
InstantiateDynamicViewProxy(DkmInspectionContext) |
具現化 Proxy 類別,以用於逐一查看 IDynamicMetaObjectProvider 值的動態成員。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
InstantiateProxyType(DkmInspectionContext, DkmClrType) |
具現化具有相關聯 DebuggerTypeProxy 屬性之 DkmClrValue 的 Proxy 類別。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
InstantiateResultsViewProxy(DkmInspectionContext, DkmClrType) |
具現化 Proxy 類別,以用於逐一查看 IEnumerable 值。 位置條件約束:必須從監視元件呼叫 API, (元件層級 < 100,000) 。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
RemoveDataItem<T>() |
從這個容器中移除 『T』 的實例。 通常不需要呼叫這個方法,因為關閉物件時,數據容器會自動清空。 (繼承來源 DkmDataContainer) |
SetDataItem<T>(DkmDataCreationDisposition, T) |
將新專案放在數據容器中。 (繼承來源 DkmDataContainer) |
明確介面實作
IDisposable.Dispose() |
即將加入。 |