ICorProfilerInfo 인터페이스

코드 프로파일러가 이벤트 모니터링을 제어하고 정보를 요청하기 위해 CLR(공용 언어 런타임)과 통신하는 데 사용하기 위한 메서드를 제공합니다.

참고

ICorProfilerInfo 인터페이스의 각 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다. 가능한 반환 코드 목록은 CorError.h를 참조하세요.

메서드

메서드 Description
BeginInprocDebugging 메서드 In Process 디버깅 지원을 초기화합니다. 이 메서드는 .NET Framework 버전 2.0에서 더 이상 사용되지 않습니다.
EndInprocDebugging 메서드 In Process 디버깅 세션을 종료합니다. 이 메서드는 .NET Framework 버전 2.0에서 더 이상 사용되지 않습니다.
ForceGC 메서드 가비지 수집을 런타임 내에서 강제로 발생시킵니다.
GetAppDomainInfo 메서드 지정된 애플리케이션 도메인에 대한 정보를 가져옵니다.
GetAssemblyInfo 메서드 지정된 어셈블리에 대한 정보를 가져옵니다.
GetClassFromObject 메서드 개체의 ClassID

가져옵니다(해당 ObjectID가 지정된 경우).
GetClassFromToken 메서드 메타데이터 토큰이 지정된 클래스의 ID를 가져옵니다. 이 메서드는 .NET Framework 버전 2.0에서 더 이상 사용되지 않습니다. 대신 ICorProfilerInfo2::GetClassFromTokenAndTypeArgs 메서드를 사용합니다.
GetClassIDInfo 메서드 지정된 클래스에 대한 부모 모듈 및 메타데이터 토큰을 가져옵니다.
GetCodeInfo 메서드 지정된 함수 ID와 연결된 네이티브 코드의 범위를 가져옵니다. 이 메서드는 사용되지 않습니다. 대신 ICorProfilerInfo2::GetCodeInfo2 메서드를 사용합니다.
GetCurrentThreadID 메서드 관리형 스레드인 경우 현재 스레드의 ID를 가져옵니다.
GetEventMask 메서드 프로파일러가 CLR에서 이벤트 알림을 받으려는 현재 이벤트 범주를 가져옵니다.
GetFunctionFromIP 메서드 관리 코드 명령 포인터를 FunctionID에 매핑합니다.
GetFunctionFromToken 메서드 함수의 ID를 가져옵니다. 이 메서드는 .NET Framework 버전 2.0에서 더 이상 사용되지 않습니다. 대신 ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs 메서드를 사용합니다.
GetFunctionInfo 메서드 지정된 함수에 대한 부모 클래스 및 메타데이터 토큰을 가져옵니다.
GetHandleFromThread 메서드 스레드의 ID를 Win32 스레드 핸들에 매핑합니다.
GetILFunctionBody 메서드 헤더부터 시작하여 MSIL(Microsoft Intermediate Language) 코드의 메서드 본문에 대한 포인터를 가져옵니다.
GetILFunctionBodyAllocator 메서드 MSIL 코드에서 메서드 본문을 교환하는 데 사용할 메모리를 할당하는 메서드를 제공하는 인터페이스를 가져옵니다.
GetILToNativeMapping 메서드 지정된 함수에 포함된 코드에 대한 MSIL 오프셋과 네이티브 오프셋 간의 맵을 가져옵니다.
GetInprocInspectionInterface 메서드 ICorDebugProcess 인터페이스에 대해 쿼리할 수 있는 개체를 가져옵니다. 이 메서드는 .NET Framework 버전 2.0에서 더 이상 사용되지 않습니다.
GetInprocInspectionIThisThread 메서드 ICorDebugThread 인터페이스에 대해 쿼리할 수 있는 개체를 가져옵니다. 이 메서드는 .NET Framework 버전 2.0에서 더 이상 사용되지 않습니다.
GetModuleInfo 메서드 모듈 ID가 지정된 경우 모듈의 파일 이름 및 모듈의 부모 어셈블리 ID를 반환합니다.
GetModuleMetaData 메서드 지정된 모듈에 매핑되는 메타데이터 인터페이스 인스턴스를 가져옵니다.
GetObjectSize 메서드 지정된 개체의 크기를 반환합니다.
GetThreadContext 메서드 현재 지정된 스레드와 연결된 컨텍스트 ID를 가져옵니다.
GetThreadInfo 메서드 지정된 스레드에 대한 현재 Win32 스레드 ID를 가져옵니다.
GetTokenAndMetadataFromFunction 메서드 지정된 함수의 토큰에 대해 사용할 수 있는 메타데이터 토큰 및 메타데이터 인터페이스 인스턴스를 가져옵니다.
IsArrayClass 메서드 지정된 클래스가 배열 클래스인지 여부를 확인합니다.
SetEnterLeaveFunctionHooks 메서드 관리형 함수의 “enter”, “leave”, “tailcall” 후크에서 호출할 프로파일러 구현 함수를 지정합니다.
SetEventMask 메서드 프로파일러가 CLR에서 알림을 받으려는 이벤트 형식을 지정하는 값을 설정합니다.
SetFunctionIDMapper 메서드 FunctionID 값을 대체 값에 매핑하기 위해 호출되는 프로파일러 구현 함수를 지정합니다. 대체 값은 프로파일러의 함수 진입점/종료점 후크에 전달됩니다.
SetFunctionReJIT 메서드 구현되지 않았습니다. 사용하지 마십시오.
SetILFunctionBody 메서드 지정된 모듈에서 지정된 함수의 본문을 바꿉니다.
SetILInstrumentedCodeMap 메서드 지정된 함수의 원래 MSIL 오프셋이 함수 프로파일러 수정된 MSIL의 새 오프셋에 매핑되는 방법을 지정합니다.

설명

프로파일러는 ICorProfilerInfo 인터페이스의 메서드를 호출하여 CLR과 통신하면서 이벤트 모니터링 및 요청 정보를 제어합니다.

ICorProfilerInfo 인터페이스의 메서드는 자유 스레드 모델을 사용하여 CLR에 의해 구현됩니다. 각 메서드가 HRESULT를 반환하여 성공 또는 실패를 나타냅니다. 가능한 반환 코드 목록은 CorError.h를 참조하세요.

CLR은 초기화 중에 프로파일러의 ICorProfilerCallback::Initialize 구현을 통해 ICorProfilerInfo 인터페이스를 각 코드 프로파일러에 전달합니다. 그런 다음, 코드 프로파일러가 ICorProfilerInfo 인터페이스의 메서드를 호출하여 CLR의 제어에 따라 실행되는 관리 코드에 대한 정보를 가져올 수 있습니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorProf.idl, CorProf.h

라이브러리: CorGuids.lib

.NET Framework 버전: 2.0부터 사용 가능

참고 항목