다음을 통해 공유


ICorProfilerInfo2 인터페이스

코드 프로파일러가 이벤트 모니터링을 제어하고 정보를 요청하기 위해 CLR(공용 언어 런타임)과 통신하는 데 사용하는 메서드를 제공합니다. ICorProfilerInfo2 인터페이스는 ICorProfilerInfo 인터페이스의 확장입니다. 즉, .NET Framework 버전 2.0 이상 버전에서 지원되는 새 메서드를 제공합니다.

메서드

메서드 Description
DoStackSnapshot 메서드 지정된 스레드의 스택을 안내하여 관리형 호출 프레임을 프로파일러에 보고합니다.
EnumModuleFrozenObjects 메서드 지정된 모듈에서 고정된 개체를 반복할 수 있는 열거자를 가져옵니다.
GetAppDomainStaticAddress 메서드 지정된 애플리케이션 도메인의 범위에 있는 지정된 애플리케이션 도메인 정적 필드의 주소를 가져옵니다.
GetArrayObjectInfo 메서드 배열 개체에 대한 자세한 정보를 가져옵니다.
GetBoxClassLayout 메서드 boxed인 지정된 값 형식의 클래스 레이아웃에 대한 정보를 가져옵니다.
GetClassFromTokenAndTypeArgs 메서드 지정된 메타데이터 토큰과 임의 형식 인수의 ClassID 값을 사용하여 형식의 ClassID를 가져옵니다.
GetClassIDInfo2 메서드 지정된 제네릭 클래스의 부모 모듈, 클래스의 메타데이터 토큰, 부모 클래스의 ClassID 및 클래스의 각 형식 인수(있는 경우)에 대한 ClassID를 가져옵니다.
GetClassLayout 메서드 지정된 클래스에서 정의된 필드의 레이아웃(메모리)에 대한 정보를 가져옵니다. 즉, 이 메서드는 클래스의 필드 오프셋을 가져옵니다.
GetCodeInfo2 메서드 지정된 FunctionID와 연결된 네이티브 코드의 범위를 가져옵니다.
GetContextStaticAddress 메서드 지정된 컨텍스트의 범위에 있는 지정된 컨텍스트 정적 필드의 주소를 가져옵니다.
GetFunctionFromTokenAndTypeArgs 메서드 클래스를 포함하는 지정된 메타데이터 토큰을 사용하여 함수의 FunctionID 및 임의 형식 인수의 ClassID 값을 가져옵니다.
GetFunctionInfo2 메서드 함수의 부모 클래스, 메타데이터 토큰 및 각 형식 인수 ClassID(있는 경우)를 가져옵니다.
GetGenerationBounds 메서드 가비지 수집 힙의 세대를 구성하는 메모리 영역(힙의 세그먼트)을 가져옵니다.
GetNotifiedExceptionClauseInfo 메서드 실행하려고 하거나 방금 실행된 예외 절(catch/finally/filter)에 대한 네이티브 주소 및 프레임 정보를 가져옵니다.
GetObjectGeneration 메서드 지정된 개체를 포함하는 힙의 세그먼트를 가져옵니다.
GetRVAStaticAddress 메서드 지정된 RVA(상대 가상 주소) 정적 필드의 주소를 가져옵니다.
GetStaticFieldInfo 메서드 지정된 필드가 정적인 범위를 가져옵니다.
GetStringLayout 메서드 문자열 개체의 레이아웃 정보를 가져옵니다.
GetThreadAppDomain 메서드 지정된 스레드가 현재 코드를 실행 중인 애플리케이션 도메인의 ID를 가져옵니다.
GetThreadStaticAddress 메서드 지정된 스레드의 범위에 있는 지정된 스레드 정적 필드의 주소를 가져옵니다.
SetEnterLeaveFunctionHooks2 메서드 관리되는 함수의 "enter", "leave" 및 "tailcall" 후크에서 호출할 프로파일러 구현 함수를 지정합니다.

설명

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

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

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

요구 사항

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

헤더: CorProf.idl, CorProf.h

라이브러리: CorGuids.lib

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

참고 항목