Metodo IDebugHost::GetCurrentContext (dbgmodel.h)
Il metodo GetCurrentContext restituisce un'interfaccia che rappresenta lo stato corrente dell'host del debugger. Il significato esatto di questo è lasciato all'host, ma in genere include elementi come la sessione, il processo e lo spazio indirizzi attivo nell'interfaccia utente dell'host di debug. L'oggetto contesto restituito è in gran parte opaco al chiamante, ma è un oggetto importante da passare tra le chiamate all'host di debug. Quando un chiamante è, ad esempio, la lettura della memoria, è importante conoscere il processo e lo spazio di indirizzi da cui viene letta la memoria. Tale nozione viene incapsulata nella nozione dell'oggetto contesto restituito da questo metodo.
A ogni oggetto e simbolo nel modello di dati sono facoltativamente associate informazioni di contesto, ad esempio questa. Spesso è anche tipico che il contesto venga passato da un oggetto a nuovi oggetti creati come proprietà di quelli esistenti. Tali oggetti creati dall'host di debug stesso possono causare l'incorporamento di informazioni di contesto aggiuntive all'interno dell'oggetto restituito, ad esempio la proprietà Stack di un thread può incorporare informazioni sul thread a cui fa riferimento lo stack all'interno del contesto.
Sintassi
HRESULT GetCurrentContext(
IDebugHostContext **context
);
Parametri
context
Qui viene restituito un oggetto che rappresenta il contesto corrente dell'host.
Valore restituito
Questo metodo restituisce HRESULT che indica l'esito positivo o negativo. Un host che non ha un concetto di informazioni di contesto può restituire E_NOTIMPL qui.
Commenti
Codice di esempio
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)
}
Requisiti
Requisito | Valore |
---|---|
Intestazione | dbgmodel.h |