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)
}

要求

要求 价值
标头 dbgmodel.h

另请参阅

IDebugHost 接口