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