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
);
};
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.
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
Other Resources