DkmInspectionContext 类

定义

执行检查操作时要使用的选项和目标上下文。

public ref class DkmInspectionContext
[Windows::Foundation::Metadata::WebHostHidden]
public ref class DkmInspectionContext
[Windows::Foundation::Metadata::WebHostHidden]
class DkmInspectionContext
[System.Runtime.InteropServices.Guid("0807c826-3338-dd99-2f3a-202ba8fb9da7")]
public class DkmInspectionContext
[<System.Runtime.InteropServices.Guid("0807c826-3338-dd99-2f3a-202ba8fb9da7")>]
type DkmInspectionContext = class
Public Class DkmInspectionContext
继承
DkmInspectionContext
属性

属性

AdditionalVisualizationData

[可选]指定要使用的可视化文件的完整路径的可选列表,以及用户配置文件目录和 Visual Studio 安装目录中的默认文件。 这些路径中冲突可视化工具相对于标准路径的优先级根据“AdditionalVisualizationDataPriority”中指定的信息进行解析。

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

AdditionalVisualizationDataPriority

如果指定了 AdditionalVisualizationData,则指定此类数据的优先级(相对于默认搜索位置)。

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

EvaluationFlags

影响输入表达式分析、编译或显示方式的标志。

FuncEvalFlags

影响函数评估请求的执行方式的标志。

InspectionSession

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

Language

用于执行检查的语言。

Radix

设置整数数据格式时要使用的基数。 当前支持的值为“16”和“10”。

ReturnValue

[可选]已弃用 - 不使用。 相反,组件应使用 ReturnValues 属性作为所有返回值的列表,并设置$ReturnValue来表示列表中的最后一个返回值项。

ReturnValues

[可选]$ReturnValue 1、$ReturnValue 2 等值的原始表示形式。

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

RuntimeInstance

指示将使用哪个运行时监视器来执行此评估。

SymbolsConnection

[可选]如果为非 null,则指定与处理此检查操作的符号的工作进程的连接。 如果在 IDE 进程中加载符号,或者如果在远程调试器中加载符号, (DkmModule.Connection) 为非 null,则该值为 null。

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

Thread

正在检查的线程。

Timeout

这是用于潜在速度缓慢的操作(如函数评估)的超时。 该值以毫秒为单位。

方法

ClrExpressionMayRequireParentheses(String)

如果表达式在用作语言中的子表达式时可能需要括号,则返回 true。

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

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

Create(DkmInspectionSession, DkmRuntimeInstance, DkmThread, UInt32, DkmEvaluationFlags, DkmFuncEvalFlags, UInt32, DkmLanguage, DkmRawReturnValue)

Create新的 DkmInspectionContext 对象实例。

Create(DkmInspectionSession, DkmRuntimeInstance, DkmThread, UInt32, DkmEvaluationFlags, DkmFuncEvalFlags, UInt32, DkmLanguage, DkmRawReturnValue, DkmCompiledVisualizationData, DkmCompiledVisualizationDataPriority)

Create新的 DkmInspectionContext 对象实例。

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

Create(DkmInspectionSession, DkmRuntimeInstance, DkmThread, UInt32, DkmEvaluationFlags, DkmFuncEvalFlags, UInt32, DkmLanguage, DkmRawReturnValue, DkmCompiledVisualizationData, DkmCompiledVisualizationDataPriority, ReadOnlyCollection<DkmRawReturnValueContainer>)

Create新的 DkmInspectionContext 对象实例。

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

Create(DkmInspectionSession, DkmRuntimeInstance, DkmThread, UInt32, DkmEvaluationFlags, DkmFuncEvalFlags, UInt32, DkmLanguage, DkmRawReturnValue, DkmCompiledVisualizationData, DkmCompiledVisualizationDataPriority, ReadOnlyCollection<DkmRawReturnValueContainer>, DkmWorkerProcessConnection)

Create新的 DkmInspectionContext 对象实例。

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

EvaluateExpression(DkmWorkList, DkmLanguageExpression, DkmStackWalkFrame, DkmCompletionRoutine<DkmEvaluateExpressionAsyncResult>)

绑定输入表达式并对其进行计算。 然后设置生成的值的格式,以便在调试器中显示。 这用于数据提示、watch窗口、即时窗口等。

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

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

EvaluateExpressionOnThreads(DkmWorkList, ReadOnlyCollection<UInt64>, DkmStackWalkFrame, DkmLanguageExpression, DkmCompletionRoutine<DkmEvaluateExpressionOnThreadsAsyncResult>)

绑定输入表达式并对其进行计算。 然后设置生成的值的格式,以便在调试器中显示。 这用于数据提示、watch窗口、即时窗口等。

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

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

EvaluateReturnValue(DkmWorkList, DkmStackWalkFrame, DkmRawReturnValue, DkmCompletionRoutine<DkmEvaluateReturnValueAsyncResult>)

仅使用提供的数据计算给定的 DkmRawReturnValue 并设置其格式。

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

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

EvaluateReturnValue2(DkmWorkList, DkmStackWalkFrame, DkmRawReturnValueContainer, DkmCompletionRoutine<DkmEvaluateReturnValueAsyncResult2>)

仅使用提供的数据计算给定的 DkmRawReturnValue 并设置其格式。

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

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

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

GetClrArrayIndexExpression(String[])

获取数组索引表达式。

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

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

GetClrCastExpression(String, DkmClrType, DkmClrCustomTypeInfo, DkmClrCastExpressionOptions)

获取强制转换表达式(如果语法有效)。

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

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

GetClrExpressionAndFormatSpecifiers(String, ReadOnlyCollection<String>)

将字符串拆分为表达式和格式说明符部分。

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

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

GetClrExpressionForNull()

获取 null (关键字 (keyword) ) 的语言特定表达式。

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

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

GetClrExpressionForThis()

获取此/我的语言特定表达式。

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

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

GetClrLocalVariableQuery(DkmClrInstructionAddress, Boolean)

获取 DkmCompiledClrLocalsQuery 以允许查看局部变量。

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

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

GetClrMemberName(String, DkmClrType, DkmClrCustomTypeInfo, String, Boolean, Boolean)

如果成员访问表达式可以表示为有效的语法,则获取该表达式。

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

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

GetClrNameForField(DkmClrModuleInstance, Int32)

从元数据中获取标识符的语言特定名称。

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

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

GetClrNameForLocalVariable(DkmClrModuleInstance, DkmClrMethodId, DkmILRange, DkmClrLocalVariable)

从元数据中获取标识符的语言特定名称。

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

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

GetClrObjectCreationExpression(DkmClrType, DkmClrCustomTypeInfo, String[])

获取对象创建表达式(如果语法有效)。

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

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

GetClrTypeName(DkmClrType, DkmClrCustomTypeInfo)

如果语法有效,则获取在语言中有效的窗体中的类型名称。 此方法用于构造有效的全名,如果没有有效的语法,则能够转义/返回 null。

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

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

GetClrValidIdentifier(String)

获取语言中有效的表单中的标识符。

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

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

GetFrameArguments(DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetFrameArgumentsAsyncResult>)

提供有关堆栈帧的参数的信息。 目前仅通过 VS 自动化模型 (EnvDTE.StackFrame.Arguments) 公开。

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

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

GetFrameLocals(DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetFrameLocalsAsyncResult>)

获取用于获取此堆栈帧的局部变量的枚举上下文。 这用于计算局部变量窗口。

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

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

GetFrameName(DkmWorkList, DkmStackWalkFrame, DkmVariableInfoFlags, DkmCompletionRoutine<DkmGetFrameNameAsyncResult>)

为堆栈框架提供文本表示形式。 生成格式化的调用堆栈时会使用此函数。

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

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

GetFrameReturnType(DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetFrameReturnTypeAsyncResult>)

为一个或多个堆栈帧提供返回类型的文本表示形式。 目前只能通过 VS 自动化模型 (EnvDTE.StackFrame.ReturnType) 公开。

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

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

GetTypeName(DkmClrType, DkmClrCustomTypeInfo, ReadOnlyCollection<String>)

获取在 UI 中显示的给定 DkmClrType 的类型名称字符串。 此方法将始终返回一个值,并用于变量检查窗口。

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

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

WithProperties(UInt32, DkmEvaluationFlags, DkmFuncEvalFlags, UInt32)

使用更新后提供的属性(例如 EvaluationFlags 或 Radix)创建原始 DkmInspectionContext 的副本。 这些属性是原始属性的完全替换,不会合并到原始属性中。 因此,必须向此方法提供原始 DkmInspectionContext 中的任何所需属性。

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

适用于