ICorDebugILFrame Interface

Represents a stack frame of Microsoft intermediate language (MSIL) code.

interface ICorDebugILFrame : ICorDebugFrame {
    
    typedef enum CorDebugMappingResult {
        MAPPING_PROLOG              = 0x1,
        MAPPING_EPILOG              = 0x2,
        MAPPING_NO_INFO             = 0x4,
        MAPPING_UNMAPPED_ADDRESS    = 0x8,
        MAPPING_EXACT               = 0x10,
        MAPPING_APPROXIMATE         = 0x20,
    } CorDebugMappingResult;
    
    HRESULT CanSetIP (
        [in] ULONG32                nOffset
    );
    
    HRESULT EnumerateArguments (
        [out] ICorDebugValueEnum    **ppValueEnum
    );
    
    HRESULT EnumerateLocalVariables( 
        [out] ICorDebugValueEnum    **ppValueEnum
    );
    
    HRESULT GetArgument (
        [in] DWORD                  dwIndex,
        [out] ICorDebugValue        **ppValue
    );
    
    HRESULT GetIP (
        [out] ULONG32               *pnOffset, 
        [out] CorDebugMappingResult *pMappingResult
    );
    
    HRESULT GetLocalVariable (
        [in] DWORD                  dwIndex,
        [out] ICorDebugValue        **ppValue
    );
    
    HRESULT GetStackDepth (
        [out] ULONG32               *pDepth
    );
    
    HRESULT GetStackValue (
        [in] DWORD                  dwIndex,
        [out] ICorDebugValue        **ppValue
    );
    
    HRESULT SetIP (
        [in] ULONG32                nOffset
    );
    
};

Methods

Method

Description

ICorDebugILFrame::CanSetIP Method

Gets a value that indicates whether it is safe to set the instruction pointer to the specified offset location.

ICorDebugILFrame::EnumerateArguments Method

Gets an enumerator for the arguments in this frame.

ICorDebugILFrame::EnumerateLocalVariables Method

Gets an enumerator for the local variables in this frame.

ICorDebugILFrame::GetArgument Method

Gets the value of the specified argument in this MSIL stack frame.

ICorDebugILFrame::GetIP Method

Gets the value of the instruction pointer and a bitwise combination value that describes how the value of the instruction pointer was obtained.

ICorDebugILFrame::GetLocalVariable Method

Gets the value of the specified local variable in this MSIL stack frame.

ICorDebugILFrame::GetStackDepth Method

Not implemented.

ICorDebugILFrame::GetStackValue Method

Not implemented.

ICorDebugILFrame::SetIP Method

Sets the instruction pointer to the specified offset location in the MSIL code.

Remarks

The ICorDebugILFrame interface is a specialized ICorDebugFrame interface. It is used either for MSIL code frames or for just-in-time (JIT) compiled frames. The JIT-compiled frames implement both the ICorDebugILFrame interface and the ICorDebugNativeFrame interface.

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

See Also

Reference

ICorDebugFrame Interface

ICorDebugILFrame2 Interface

Other Resources

Debugging Interfaces