Share via


ICorDebugCode Interface

Represents a segment of either Microsoft intermediate language (MSIL) code or native code.

interface ICorDebugCode : IUnknown {
    HRESULT CreateBreakpoint (
        [in] ULONG32     offset,
        [out] ICorDebugFunctionBreakpoint **ppBreakpoint
    );
    
    HRESULT GetAddress (
        [out] CORDB_ADDRESS *pStart
    );
    
    HRESULT GetCode (
        [in] ULONG32     startOffset, 
        [in] ULONG32     endOffset,
        [in] ULONG32     cBufferAlloc,
        [out, size_is(cBufferAlloc),
            length_is(*pcBufferSize)] BYTE buffer[],
        [out] ULONG32    *pcBufferSize
    );
    
    //
    // GetEnCRemapSequencePoints is not implemented.
    //
    HRESULT GetEnCRemapSequencePoints (
        [in] ULONG32     cMap,
        [out] ULONG32    *pcMap,
        [out, size_is(cMap), length_is(*pcMap)]
            ULONG32      offsets[]
    );
    
    HRESULT GetFunction (
        [out] ICorDebugFunction **ppFunction
    );
    
    HRESULT GetILToNativeMapping (
        [in] ULONG32     cMap,
        [out] ULONG32    *pcMap,
        [out, size_is(cMap), length_is(*pcMap)]
            COR_DEBUG_IL_TO_NATIVE_MAP map[]
    );
    
    HRESULT GetSize (
        [out] ULONG32    *pcBytes
    );
    
    HRESULT GetVersionNumber (
        [out] ULONG32    *nVersion
    );
    
    HRESULT IsIL (
        [out] BOOL       *pbIL
    );
};

Methods

Method

Description

ICorDebugCode::CreateBreakpoint Method

Creates a breakpoint at the specified offset.

ICorDebugCode::GetAddress Method

Gets the relative virtual address (RVA) of the code segment that this ICorDebugCode represents.

ICorDebugCode::GetCode Method

Gets all the code for the specified function, formatted for disassembly. This method has been deprecated in the .NET Framework version 2.0. Use ICorDebugCode2::GetCodeChunks instead.

ICorDebugCode::GetEnCRemapSequencePoints Method

Not implemented.

ICorDebugCode::GetFunction Method

Gets the ICorDebugFunction associated with this ICorDebugCode.

ICorDebugCode::GetILToNativeMapping Method

Gets an array of COR_DEBUG_IL_TO_NATIVE_MAP instances that represent mappings from MSIL offsets to native offsets.

ICorDebugCode::GetSize Method

Gets the size, in bytes, of the binary code represented by this ICorDebugCode.

ICorDebugCode::GetVersionNumber Method

Gets the one-based number that identifies the version of the code that this ICorDebugCode represents.

ICorDebugCode::IsIL Method

Gets a value that indicates whether this ICorDebugCode is compiled in MSIL.

Remarks

ICorDebugCode can represent either MSIL or native code. An ICorDebugFunction object that represents MSIL code can have either zero or one ICorDebugCode objects associated with it. An ICorDebugFunction object that represents native code can have any number of ICorDebugCode objects associated with it.

This interface does not support being called remotely, either cross-machine or cross-process.

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

ICorDebugCode2 Interface

Other Resources

Debugging Interfaces

Change History

Date

History

Reason

Clarified the relationship between ICorDebugCode and ICorDebugFunction.

Content bug fix.