IDebugSymbols3::SetScope 方法 (dbgeng.h)
SetScope 方法會設定目前的範圍。
語法
HRESULT SetScope(
[in] ULONG64 InstructionOffset,
[in, optional] PDEBUG_STACK_FRAME ScopeFrame,
[in, optional] PVOID ScopeContext,
[in] ULONG ScopeContextSize
);
參數
[in] InstructionOffset
指定範圍目前指令之進程虛擬位址空間中的位置。 只有當 ScopeFrame 和 ScopeContextNULL時,才會使用這個值;否則會忽略它。
[in, optional] ScopeFrame
指定範圍的堆疊框架。 如需此結構的相關信息,請參閱 DEBUG_STACK_FRAME。
[in, optional] ScopeContext
指定範圍 線程內容。 線程內容的型別是目標有效處理器的CONTEXT結構。 緩衝區 ScopeContext 必須夠大,才能保存這個結構。 如果 ScopeContextNULL,則會改用目前的 緩存器內容。
[in] ScopeContextSize
指定 scopeContext 緩衝區的大小。
傳回值
這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值。
傳回碼 | 描述 |
---|---|
|
InstructionOffset、ScopeFrame和 ScopeContext 所識別的範圍與舊範圍相同。 |
|
範圍已變更。 |
言論
如果只提供 InstructionOffset,則可以使用範圍來查閱符號名稱;不過,這些符號的值將無法使用。
若要將範圍設定為先前的狀態,必須提供 scopeContext 。 這不一定是必要的(例如,如果您只想要存取符號,而不是 緩存器)。 若要將範圍設定為目前堆疊上的框架,可以使用 SetScopeFrameByIndex 。
如需範圍的詳細資訊,請參閱 範圍和符號群組。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | dbgeng.h (include Dbgeng.h) |