CorDebugChainReason Enumeration

Indicates the reason or reasons for the initiation of a call chain.

Syntax

typedef enum CorDebugChainReason {
    CHAIN_NONE              = 0x000,
    CHAIN_CLASS_INIT        = 0x001,
    CHAIN_EXCEPTION_FILTER  = 0x002,
    CHAIN_SECURITY          = 0x004,
    CHAIN_CONTEXT_POLICY    = 0x008,
    CHAIN_INTERCEPTION      = 0x010,
    CHAIN_PROCESS_START     = 0x020,
    CHAIN_THREAD_START      = 0x040,
    CHAIN_ENTER_MANAGED     = 0x080,
    CHAIN_ENTER_UNMANAGED   = 0x100,
    CHAIN_DEBUGGER_EVAL     = 0x200,
    CHAIN_CONTEXT_SWITCH    = 0x400,
    CHAIN_FUNC_EVAL         = 0x800
} CorDebugChainReason;

Members

Member Description
CHAIN_NONE No call chain has been initiated.
CHAIN_CLASS_INIT The chain was initiated by a constructor.
CHAIN_EXCEPTION_FILTER The chain was initiated by an exception filter.
CHAIN_SECURITY The chain was initiated by code that enforces security.
CHAIN_CONTEXT_POLICY The chain was initiated by a context policy.
CHAIN_INTERCEPTION Not used.
CHAIN_PROCESS_START Not used.
CHAIN_THREAD_START The chain was initiated by the start of a thread execution.
CHAIN_ENTER_MANAGED The chain was initiated by entry into managed code.
CHAIN_ENTER_UNMANAGED The chain was initiated by entry into unmanaged code.
CHAIN_DEBUGGER_EVAL Not used.
CHAIN_CONTEXT_SWITCH Not used.
CHAIN_FUNC_EVAL The chain was initiated by a function evaluation.

Remarks

Use the ICorDebugChain::GetReason method to ascertain the reasons for the initiation of a call chain.

Requirements

Platforms: See System Requirements.

Header: CorDebug.idl, CorDebug.h

Library: CorGuids.lib

.NET Framework Versions: Available since 1.0

See also