IDebugHost::GetCurrentContext 方法 (dbgmodel.h)

GetCurrentContext 方法返回一个接口,该接口表示调试器主机的当前状态。 确切的含义由主机决定,但它通常包括会话、进程和调试主机用户界面中处于活动状态的地址空间等内容。 返回的上下文对象对调用方来说基本上是不透明的,但它是在对调试主机的调用之间传递的重要对象。 例如,当调用方正在读取内存时,必须知道从哪个进程和地址空间读取内存。 该概念封装在从此方法返回的上下文对象的概念中。

数据模型中的每个对象和符号(可选)都有上下文信息,例如与此关联的上下文信息。 通常,上下文从一个对象传递到作为现有对象的属性创建的新对象。 由调试主机本身创建的此类对象可能会导致其他上下文信息嵌入返回的对象 (例如:线程的 Stack 属性可以在上下文) 嵌入有关堆栈引用的线程的信息。

语法

HRESULT GetCurrentContext(
  IDebugHostContext **context
);

参数

context

此处返回一个对象,该对象表示主机的当前上下文。

返回值

此方法返回指示成功或失败的 HRESULT。 没有上下文信息概念的主机可能会在此处返回E_NOTIMPL。

注解

代码示例

ComPtr<IDebugHost> spHost; /* get the debug host */

ComPtr<IDebugHostContext> spContext;
if (SUCCEEDED(spHost->GetCurrentContext(&spContext)))
{
    // spContext now contains an opaque object representing the current UI 
    // state of the debugger (e.g.: what session/process/thread the debug UI 
    // is focused on)
}

要求

要求
Header dbgmodel.h

另请参阅

IDebugHost 接口