ICorDebugChain Interface
Represents a segment of a physical or logical call stack.
interface ICorDebugChain : IUnknown {
HRESULT EnumerateFrames (
[out] ICorDebugFrameEnum **ppFrames
);
HRESULT GetActiveFrame (
[out] ICorDebugFrame **ppFrame
);
HRESULT GetCallee (
[out] ICorDebugChain **ppChain
);
HRESULT GetCaller (
[out] ICorDebugChain **ppChain
);
HRESULT GetContext (
[out] ICorDebugContext **ppContext
);
HRESULT GetNext (
[out] ICorDebugChain **ppChain
);
HRESULT GetPrevious (
[out] ICorDebugChain **ppChain
);
HRESULT GetReason (
[out] CorDebugChainReason *pReason
);
HRESULT GetRegisterSet (
[out] ICorDebugRegisterSet **ppRegisters
);
HRESULT GetStackRange (
[out] CORDB_ADDRESS *pStart,
[out] CORDB_ADDRESS *pEnd
);
HRESULT GetThread (
[out] ICorDebugThread **ppThread
);
HRESULT IsManaged (
[out] BOOL *pManaged
);
};
Methods
Method |
Description |
---|---|
Gets an enumerator that contains all the managed stack frames in the chain, starting with the most recent frame. |
|
Gets the active (that is, most recent) frame on the chain. |
|
Gets the chain that was called by this chain. |
|
Gets the chain that called this chain. |
|
Not implemented. |
|
Gets the next chain of frames for the thread. |
|
Gets the previous chain of frames for the thread. |
|
Gets the reason for the genesis of this calling chain. |
|
Gets the register set for the active part of this chain. |
|
Gets the address range of the stack segment for this chain. |
|
Gets the physical thread this call chain is part of. |
|
Gets a value that indicates whether this chain is running managed code. |
Remarks
The stack frames in a chain occupy contiguous stack space and share the same thread and context. A chain may represent either managed or unmanaged code chains. An empty ICorDebugChain instance represents an unmanaged code chain.
Requirements
Platforms: See .NET Framework System Requirements.
Header: CorDebug.idl
Library: CorGuids.lib
.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0