ICorDebugProcess::SetThreadContext Method

Sets the context for the given thread in this process.


HRESULT SetThreadContext(  
    [in] DWORD threadID,  
    [in] ULONG32 contextSize,  
    [in, length_is(contextSize), size_is(contextSize)]  
    BYTE context[]);  


[in] The ID of the thread for which to set the context.

[in] The size of the context array.

[in] An array of bytes that describe the thread's context.

The context specifies the architecture of the processor on which the thread is executing.


The debugger should call this method rather than the Win32 SetThreadContext function, because the thread may actually be in a "hijacked" state, in which its context has been temporarily changed. This method should be used only when a thread is in native code. Use ICorDebugRegisterSet for threads in managed code. You should never need to modify the context of a thread during an out-of-band (OOB) debug event.

The data passed must be a context structure for the current platform.

This method can corrupt the runtime if used improperly.


Platforms: See System Requirements.

Header: CorDebug.idl, CorDebug.h

Library: CorGuids.lib

.NET Framework Versions: Available since 2.0