Поделиться через


Метод 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