ICorDebugThread::EnumerateChains Method
Gets an interface pointer to an ICorDebugChainEnum Interface enumerator that contains all the stack chains in this ICorDebugThread Interface.
HRESULT EnumerateChains (
[out] ICorDebugChainEnum **ppChains
);
Parameters
Parameter | Description |
---|---|
ppChains |
[out] A pointer to the address of an ICorDebugChainEnum Interface object that allows enumeration of all the stack chains in this thread, starting at the active (that is, most recent) one. |
Remarks
The stack chain represents the physical call stack for the thread. Each of the following instances creates a stack chain boundary:
A managed to unmanaged transition and vice versa
A context switch
A debugger hijacking of a user thread
In the simple case for a thread running purely managed code in a single context, there will be a one to one correspondence between threads and stack chains.
A debugger may want to rearrange the physical call stacks of all threads into logical call stacks. This would involve sorting all the threads' chains by their caller/callee relationships and regrouping them.
Requirements
Platforms: Windows 2000, Windows XP, Windows Server 2003 family
Header: CorDebug.idl
Library: CorGuids.lib
.NET Framework Version: 2.0, 1.1, 1.0