다음을 통해 공유


ICorDebugRegisterSet

업데이트: 2007년 11월

현재 코드가 실행되고 있는 컴퓨터에서 사용할 수 있는 레지스터 집합을 나타냅니다.

interface ICorDebugRegisterSet : IUnknown {

    typedef enum CorDebugRegister {
        REGISTER_INSTRUCTION_POINTER = 0,
        REGISTER_STACK_POINTER,
                REGISTER_FRAME_POINTER,
                
        REGISTER_X86_EIP = 0,
        REGISTER_X86_ESP,
        REGISTER_X86_EBP,
                
        REGISTER_X86_EAX,
        REGISTER_X86_ECX,
        REGISTER_X86_EDX,
        REGISTER_X86_EBX,
                
        REGISTER_X86_ESI,
        REGISTER_X86_EDI,
                
        REGISTER_X86_FPSTACK_0,
        REGISTER_X86_FPSTACK_1,
        REGISTER_X86_FPSTACK_2,
        REGISTER_X86_FPSTACK_3,
        REGISTER_X86_FPSTACK_4,
        REGISTER_X86_FPSTACK_5,
        REGISTER_X86_FPSTACK_6,
        REGISTER_X86_FPSTACK_7,
                
        REGISTER_AMD64_RIP = 0,
        REGISTER_AMD64_RSP,
        REGISTER_AMD64_RBP,
                
        REGISTER_AMD64_RAX,
        REGISTER_AMD64_RCX,
        REGISTER_AMD64_RDX,
        REGISTER_AMD64_RBX,
                
        REGISTER_AMD64_RSI,
        REGISTER_AMD64_RDI,
                
        REGISTER_AMD64_R8,
        REGISTER_AMD64_R9,
        REGISTER_AMD64_R10,
        REGISTER_AMD64_R11,
        REGISTER_AMD64_R12,
        REGISTER_AMD64_R13,
        REGISTER_AMD64_R14,
        REGISTER_AMD64_R15,
                
        REGISTER_AMD64_XMM0,
        REGISTER_AMD64_XMM1,
        REGISTER_AMD64_XMM2,
        REGISTER_AMD64_XMM3,
        REGISTER_AMD64_XMM4,
        REGISTER_AMD64_XMM5,
        REGISTER_AMD64_XMM6,
        REGISTER_AMD64_XMM7,
        REGISTER_AMD64_XMM8,
        REGISTER_AMD64_XMM9,
        REGISTER_AMD64_XMM10,
        REGISTER_AMD64_XMM11,
        REGISTER_AMD64_XMM12,
        REGISTER_AMD64_XMM13,
        REGISTER_AMD64_XMM14,
        REGISTER_AMD64_XMM15,
                
        REGISTER_IA64_BSP = REGISTER_FRAME_POINTER,
        REGISTER_IA64_R0  = REGISTER_IA64_BSP + 1,
        REGISTER_IA64_F0  = REGISTER_IA64_R0  + 128,
                
        } CorDebugRegister;
        
        
    HRESULT GetRegisters (
        [in] ULONG64       mask, 
        [in] ULONG32       regCount,
        [out, size_is(regCount), length_is(regCount)]
            CORDB_REGISTER regBuffer[]
    );
        
    HRESULT GetRegistersAvailable (
        [out] ULONG64  *pAvailable
    );

    HRESULT SetRegisters (
        [in] ULONG64   mask,
        [in] ULONG32   regCount,
        [in, size_is(regCount)] CORDB_REGISTER regBuffer[]
    );
        
    HRESULT SetThreadContext (
           [in] ULONG32 contextSize,
           [in, length_is(contextSize),
               size_is(contextSize)] BYTE context[]
    );
        
}

메서드

메서드

설명

ICorDebugRegisterSet::GetRegisters 메서드

현재 코드를 실행하고 있는 컴퓨터에서 비트 마스크로 지정된 각 레지스터의 값을 가져옵니다.

ICorDebugRegisterSet::GetRegistersAvailable 메서드

ICorDebugRegisterSet에서 현재 사용할 수 있는 레지스터를 나타내는 비트 마스크를 가져옵니다.

ICorDebugRegisterSet::GetThreadContext 메서드

현재 스레드의 컨텍스트를 가져옵니다.

ICorDebugRegisterSet::SetRegisters 메서드

.NET Framework 버전 2.0에는 구현되어 있지 않습니다.

ICorDebugRegisterSet::SetThreadContext 메서드

.NET Framework 버전 2.0에는 구현되어 있지 않습니다.

설명

ICorDebugRegisterSet 인터페이스에서는 32비트 레지스터만 지원합니다. IA-64와 같이 추가 레지스터를 필요로 하는 플랫폼에서는 ICorDebugRegisterSet2 인터페이스를 사용하십시오.

요구 사항

플랫폼:.NET Framework 시스템 요구 사항 참조

헤더: CorDebug.idl

라이브러리: CorGuids.lib

.NET Framework 버전: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

참고 항목

참조

ICorDebugRegisterSet2

기타 리소스

디버깅 인터페이스