DkmSuccessEvaluationResult 类

定义

成功计算的格式化结果,准备显示在表达式计算窗口中。

public ref class DkmSuccessEvaluationResult : Microsoft::VisualStudio::Debugger::Evaluation::DkmEvaluationResult
[System.Runtime.InteropServices.Guid("5d948996-5805-1795-8b6b-535f0bc32bde")]
public class DkmSuccessEvaluationResult : Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResult
[<System.Runtime.InteropServices.Guid("5d948996-5805-1795-8b6b-535f0bc32bde")>]
type DkmSuccessEvaluationResult = class
    inherit DkmEvaluationResult
Public Class DkmSuccessEvaluationResult
Inherits DkmEvaluationResult
继承
继承
DkmSuccessEvaluationResult
属性

属性

Access

访问控制级别 (评估结果) 公共、专用等。

Address

[可选]如果结果是地址 (即在标志) 中设置地址标志,则指定支持值的位置。 当计算结果用作内存窗口或反汇编窗口的输入时,会使用此函数。 如果它是指令地址,则必须设置 CPUInstruction 地址。

Category

此评估结果 (类别,例如:数据、方法等) 。

CustomUIVisualizers

[可选]此对象的自定义查看器列表。

EditableValue

[可选]如果该值是可写的,则指定在双击该值进行编辑时要使用的默认字符串。 EE 应该能够分析和评估此字符串并取回当前评估结果。 如果值是只读的,则忽略可编辑值,并且应为 null。

ExternalModules

[可选]外部模块(不包括当前模块)的列表(如果可用),用于检查对象。 加载此列表中尽可能多的模块的符号将增强对象的显示。

Flags

指示表达式计算结果的属性的标志。

FullName

[可选]此结果所应用于的表达式的全名。 此值用于允许将子元素添加到watch窗口, (从上下文菜单) 添加监视,以及刷新评估树的某些部分。 作为 FullName 与名称的不同之处的示例,C++ 中数组的第 0 个元素的名称为“[0]”,而全名则为“myArrayVariable[0]”。 对于 Visual Studio 14 及更高版本,可以根据需要稍后计算全名。 为此,表达式计算器应创建具有 null 全名的 DkmEvaluationResult,并实现 IDkmFullNameProvider。 然后,Concord 将调用 IDkmFullNameProvider.CalculateFullName,以在 UI 中在需要时获取全名。

(继承自 DkmEvaluationResult)
InspectionContext

用于创建此评估结果的检查上下文。

(继承自 DkmEvaluationResult)
InspectionSession

InspectionSession 允许检查目标进程中数据的各种组件存储具有相同生存期的专用数据。 当用户尝试继续该过程时,检查会话将关闭。

(继承自 DkmEvaluationResult)
IsUnloaded

如果已为此对象引发“unloaded”事件,则返回 true (示例:DkmThread::Unload) 或对象已关闭。 请注意,检查此状态时必须小心,因为如果不进行同步,则返回的状态在读取指令后可能不再准确。

(继承自 DkmDataContainer)
Language

用于执行检查的语言。

(继承自 DkmEvaluationResult)
Name

此结果应用于的表达式的名称。

(继承自 DkmEvaluationResult)
RefreshButtonText

[可选]设置 DkmEvaluationResultFlags::CanEvaluateNow 时,指定当用户将鼠标悬停在刷新按钮上时要显示为工具提示的文本。 如果此值为 null,将使用默认消息。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

RuntimeInstance

指示将用于执行此评估的运行时监视器。

(继承自 DkmEvaluationResult)
StackFrame

创建此表达式结果的堆栈帧。

(继承自 DkmEvaluationResult)
StorageType

存储类型 (例如:评估结果的静态) 。

TagValue

DkmEvaluationResult 是一个抽象基类。 此枚举指示此对象是哪个派生类的实例。

(继承自 DkmEvaluationResult)
Type

[可选]描述值类型的字符串。

TypeModifierFlags

类型修饰符标志 (示例:计算结果的 const) 。

UniqueId

唯一标识此评估结果的 Guid。

(继承自 DkmEvaluationResult)
Value

[可选]描述值的字符串。

方法

AddToFavorites(DkmSuccessEvaluationResult)

将指定的子项添加到此结果类型的收藏夹项集合中。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) 中引入的。

Close()

关闭评估结果对象以释放与之关联的资源。 此方法必须由启动枚举的组件调用, (例如:名为 DkmInspectionContext.EvaluateExpression、DkmEvaluationResultEnumContext.GetItems 等) 。

当其关联的 DkmInspectionSession 对象关闭时,DkmEvaluationResult 对象会自动关闭。

(继承自 DkmEvaluationResult)
Create(DkmInspectionContext, DkmStackWalkFrame, String, String, DkmEvaluationResultFlags, String, String, String, DkmEvaluationResultCategory, DkmEvaluationResultAccessType, DkmEvaluationResultStorageType, DkmEvaluationResultTypeModifierFlags, DkmDataAddress, ReadOnlyCollection<DkmCustomUIVisualizerInfo>, ReadOnlyCollection<DkmModuleInstance>, DkmDataItem)

Create新的 DkmSuccessEvaluationResult 对象实例。

Create(DkmInspectionContext, DkmStackWalkFrame, String, String, DkmEvaluationResultFlags, String, String, String, DkmEvaluationResultCategory, DkmEvaluationResultAccessType, DkmEvaluationResultStorageType, DkmEvaluationResultTypeModifierFlags, DkmDataAddress, ReadOnlyCollection<DkmCustomUIVisualizerInfo>, ReadOnlyCollection<DkmModuleInstance>, String, DkmDataItem)

Create新的 DkmSuccessEvaluationResult 对象实例。

此 API 是在 Visual Studio 15 RTM (DkmApiVersion.VS15RTM) 中引入的。

CreateDebuggeeSideVisualizerObject(DkmWorkList, UInt32, DkmCompletionRoutine<DkmCreateDebuggeeSideVisualizerObjectAsyncResult>)

实例化调试对象进程中的调试对象端自定义可视化工具类型。

此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10) 中引入的。

CreateDebuggeeSideVisualizerObject(DkmWorkList, UInt32, Int32, DkmCompletionRoutine<DkmCreateDebuggeeSideVisualizerObject176AsyncResult>)

实例化调试对象进程中的调试对象端自定义可视化工具类型,并指定与它通信时应使用的序列化类型。

此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。

CreateDebuggeeSideVisualizerObject(UInt32, Int32, Int32, String, String, String, Boolean)

实例化调试对象进程中的调试对象端自定义可视化工具类型,并指定与它通信时应使用的序列化类型。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。

CreateDebuggeeSideVisualizerObject(UInt32, String, String, String)

实例化调试对象进程中的调试对象端自定义可视化工具类型。 注意:此方法已弃用,改用 IDkmClrCustomVisualizerObjectProvider1610 接口中定义的方法。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

CreateDebuggeeSideVisualizerObject(UInt32, String, String, String, Boolean)

实例化调试对象进程中的调试对象端自定义可视化工具类型。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10) 中引入的。

CreateObjectId()

为此特定表达式创建对象 ID。

位置约束:无论调试的是哪种类型的代码,IDE 组件都可能调用此方法。 调试在 CLR 下运行的代码时,调试监视器组件目前也支持此方法;但是,此功能可能会在将来的版本中删除。

(继承自 DkmEvaluationResult)
CreateReplacementObjectOnDebuggeeSideVisualizer(Byte[], String, String, String)

执行调试对象端自定义可视化工具类型的 CreateReplacementObject (...) 方法,并将结果写入可视化对象句柄。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

DestroyDebuggeeSideVisualizerObject()

在调试对象进程中释放调试对象端自定义可视化工具类型。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

DestroyDebuggeeSideVisualizerObject(DkmWorkList, DkmCompletionRoutine<DkmDestroyDebuggeeSideVisualizerObjectAsyncResult>)

在调试对象进程中释放调试对象端自定义可视化工具类型。

此方法会将新工作项追加到指定工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

DestroyObjectId()

销毁此特定表达式的对象 ID。

位置约束:无论调试的是哪种类型的代码,IDE 组件都可能调用此方法。 调试在 CLR 下运行的代码时,调试监视器组件目前也支持此方法;但是,此功能可能会在将来的版本中删除。

(继承自 DkmEvaluationResult)
ExtractFromProperty(IDebugProperty3)

获取 DkmSuccessEvaluationResult 对象,该对象为 IDebugProperty3 对象提供后盾。 此 API 仅在 Visual Studio 的main线程中正常运行。

GetChildren(DkmWorkList, Int32, DkmInspectionContext, DkmCompletionRoutine<DkmGetChildrenAsyncResult>)

获取用于获取此计算结果的子级的枚举上下文。 这在所有表达式计算窗口中都使用。

此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

位置约束:无论调试的是哪种类型的代码,IDE 组件都可能调用此方法。 调试在 CLR 下运行的代码时,调试监视器组件目前也支持此方法;但是,此功能可能会在将来的版本中删除。

(继承自 DkmEvaluationResult)
GetClrValue()

从 DkmSuccessEvaluationResult 获取基础 DkmClrValue(如果存在)。

位置约束:必须从监视组件 (组件级别 < 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

GetDataBreakpointDisplayName()

获取计算结果的数据断点显示名称。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

GetDataBreakpointDisplayName(DkmWorkList, DkmCompletionRoutine<DkmGetDataBreakpointDisplayNameAsyncResult>)

获取计算结果的数据断点显示名称。

此方法会将新工作项追加到指定工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。

GetDataBreakpointInfo(DkmWorkList, DkmCompletionRoutine<DkmGetDataBreakpointInfoAsyncResult>)

返回与评估结果相关的数据断点信息(如果有效)。

此方法会将新工作项追加到指定工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

GetDataBreakpointInfo(String)

返回与评估结果相关的数据断点信息(如果有效)。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) 中引入的。

GetDataFromDebuggeeSideVisualizer(DkmWorkList, DkmCompletionRoutine<DkmGetDataFromDebuggeeSideVisualizerAsyncResult>)

执行调试对象端自定义可视化工具类型的 GetData (...) 方法。

此方法会将新工作项追加到指定工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

GetDataFromDebuggeeSideVisualizer(String, String, String)

执行调试对象端自定义可视化工具类型的 GetData (...) 方法。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

GetDataItem<T>()

获取已添加到此容器实例的“T”实例。 如果此容器不包含“T”,则此函数将返回 null。

(继承自 DkmDataContainer)
GetUnderlyingString()

此方法用于包含 DkmEvaluationResultFlags.RawString 的计算结果,以获取基础字符串,且没有括引号或转义序列。 调用此方法以在表达式计算窗口中显示各种字符串可视化工具之一, (单击放大镜图标) 。

位置约束:无论调试的是哪种类型的代码,IDE 组件都可能调用此方法。 调试在 CLR 下运行的代码时,调试监视器组件目前也支持此方法;但是,此功能可能会在将来的版本中删除。

(继承自 DkmEvaluationResult)
RemoveDataItem<T>()

从此容器中删除“T”的实例。 通常不需要调用此方法,因为数据容器将在对象关闭时自动清空。

(继承自 DkmDataContainer)
RemoveFromFavorites(DkmSuccessEvaluationResult)

从此结果类型的收藏项集合中删除指定的子级。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) 中引入的。

ResolveAssembly(String, String, ReadOnlyCollection<Byte>)

将程序集名称解析为程序集的路径或其原始字节。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

SetDataItem<T>(DkmDataCreationDisposition, T)

将新项放在数据容器中。

(继承自 DkmDataContainer)
SetValueAsString(String, Int32, String)

修改给定计算结果的值, (假定为非只读) ,以匹配给定字符串。 在用户在任何评估窗口中编辑值后,使用此方法。

位置约束:无论调试的是哪种类型的代码,IDE 组件都可能调用此方法。 调试在 CLR 下运行的代码时,调试监视器组件目前也支持此方法;但是,此功能可能会在将来的版本中删除。

(继承自 DkmEvaluationResult)
TransferDataToDebuggeeSideVisualizer(Byte[], String, String, String)

执行调试对象端自定义可视化工具类型的 TransferData (...) 方法。

位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

显式接口实现

IDisposable.Dispose()

成功计算的格式化结果,准备显示在表达式计算窗口中。

(继承自 DkmEvaluationResult)

适用于