CorDebugChainReason Enumeration

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

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: Windows 2000, Windows XP, Windows Server 2003 family

Header: CorDebug.idl

Library: CorGuids.lib

.NET Framework Version: 2.0, 1.1, 1.0

See Also

Concepts

Debugging Enumerations