ICorProfilerCallback 인터페이스
프로파일러가 구독한 이벤트가 발생할 때 코드 프로파일러에 이를 알리기 위해 CLR(공용 언어 런타임)에서 사용하는 메서드를 제공합니다.
메서드
메서드 |
설명 |
---|---|
응용 프로그램 도메인이 만들어졌음을 프로파일러에 알립니다. |
|
응용 프로그램 도메인이 만들어지고 있음을 프로파일러에 알립니다. |
|
응용 프로그램 도메인이 프로세스에서 언로드되었음을 프로파일러에 알립니다. |
|
응용 프로그램 도메인이 프로세스에서 언로드되고 있음을 프로파일러에 알립니다. |
|
어셈블리 로딩이 완료되었음을 프로파일러에 알립니다. |
|
어셈블리가 로드되고 있음을 프로파일러에 알립니다. |
|
어셈블리가 언로드되었음을 프로파일러에 알립니다. |
|
어셈블리가 언로드되고 있음을 프로파일러에 알립니다. |
|
클래스 로딩이 완료되었음을 프로파일러에 알립니다. |
|
클래스가 로드되고 있음을 프로파일러에 알립니다. |
|
클래스 언로딩이 완료되었음을 프로파일러에 알립니다. |
|
클래스가 언로드되고 있음을 프로파일러에 알립니다. |
|
지정된 IID 및 클래스에 대한 RCW(런타임 호출 가능 래퍼)가 만들어졌음을 프로파일러에 알립니다. |
|
RCW가 소멸되고 있음을 프로파일러에 알립니다. |
|
컨트롤이 적절한 catch 블록에 전달되고 있음을 프로파일러에 알립니다. |
|
컨트롤이 적절한 catch 블록 외부로 전달되고 있음을 프로파일러에 알립니다. |
|
.NET Framework 버전 2.0에서는 사용되지 않습니다. |
|
.NET Framework 2.0에서는 사용되지 않습니다. |
|
구현되지 않았습니다. 관리되지 않는 예외 정보가 필요한 프로파일러에서는 다른 방법으로 이 정보를 얻어야 합니다. |
|
구현되지 않았습니다. 관리되지 않는 예외 정보가 필요한 프로파일러에서는 다른 방법으로 이 정보를 얻어야 합니다. |
|
예외 처리의 검색 단계에서 throw된 예외에 대한 처리기를 찾았음을 프로파일러에 알립니다. |
|
사용자 필터가 실행되고 있음을 프로파일러에 알립니다. |
|
사용자 필터의 실행이 방금 완료되었음을 프로파일러에 알립니다. |
|
예외 처리의 검색 단계에서 함수를 시작했음을 프로파일러에 알립니다. |
|
예외 처리의 검색 단계에서 함수 검색을 마쳤음을 프로파일러에 알립니다. |
|
예외가 throw되었음을 프로파일러에 알립니다. |
|
예외 처리의 해제 단계에서 지정된 함수에 포함된 finally 절을 시작하고 있음을 프로파일러에 알립니다. |
|
예외 처리의 해제 단계에서 finally 절을 종료했음을 프로파일러에 알립니다. |
|
예외 처리의 해제 단계에서 함수를 시작했음을 프로파일러에 알립니다. |
|
예외 처리의 해제 단계에서 함수 해제를 완료했음을 프로파일러에 알립니다. |
|
런타임에서 함수 언로딩을 시작했음을 프로파일러에 알립니다. |
|
새 CLR 응용 프로그램이 시작될 때마다 프로파일러를 초기화하기 위해 호출됩니다. |
|
NGen.exe를 사용하여 이전에 컴파일한 함수에 대한 검색이 완료되었음을 프로파일러에 알립니다. |
|
NGen.exe를 사용하여 이전에 컴파일한 함수에 대한 검색이 시작되었음을 프로파일러에 알립니다. |
|
JIT 컴파일러에서 함수 컴파일을 완료했음을 프로파일러에 알립니다. |
|
JIT(Just-In-Time) 컴파일러에서 함수 컴파일을 시작했음을 프로파일러에 알립니다. |
|
JIT 컴파일된 함수가 메모리에서 제거되었음을 프로파일러에 알립니다. |
|
JIT 컴파일러에서 다른 함수와 같은 줄에 함수를 삽입하려고 함을 프로파일러에 알립니다. |
|
관리 코드에서 비관리 코드로 전환되었음을 프로파일러에 알립니다. |
|
모듈이 해당 부모 어셈블리에 연결되고 있음을 프로파일러에 알립니다. |
|
모듈 로딩이 완료되었음을 프로파일러에 알립니다. |
|
모듈이 로드되고 있음을 프로파일러에 알립니다. |
|
모듈 언로딩이 완료되었음을 프로파일러에 알립니다. |
|
모듈이 언로드되고 있음을 프로파일러에 알립니다. |
|
가비지 수집 중 이동된 개체 참조에 대한 정보를 프로파일러에 알립니다. |
|
힙 내의 메모리가 개체에 할당되었음을 프로파일러에 알립니다. |
|
지정된 개체가 참조하는 메모리 내의 개체에 대한 정보를 프로파일러에 알립니다. |
|
이전 가비지 수집 이후 만들어진 지정된 각 클래스의 인스턴스 수에 대한 정보를 프로파일러에 알립니다. |
|
원격 호출이 클라이언트에서 완료되었음을 프로파일러에 알립니다. |
|
원격 호출이 시작되었음을 프로파일러에 알립니다. |
|
원격 호출의 서버측 부분이 완료되었고 이제 클라이언트에서 응답을 받아 처리하려고 하고 있음을 프로파일러에 알립니다. |
|
클라이언트에서 서버로 요청을 보내고 있음을 프로파일러에 알립니다. |
|
프로세스에서 원격 메서드 호출 요청에 대한 응답으로 메서드 호출을 완료했음을 프로파일러에 알립니다. |
|
프로세스에서 원격 메서드 호출 요청에 대한 응답으로 메서드를 호출하고 있음을 프로파일러에 알립니다. |
|
프로세스에서 원격 메서드 호출이나 활성화 요청을 받고 있음을 프로파일러에 알립니다. |
|
프로세스에서 원격 메서드 호출 요청의 처리를 완료했으며 채널을 통해 회신을 전송하려고 함을 프로파일러에 알립니다. |
|
가비지 수집 후 루트 참조에 대한 정보를 프로파일러에 알립니다. |
|
런타임에서 모든 런타임 스레드를 다시 시작하여 정상 작업 상태로 돌아왔음을 프로파일러에 알립니다. |
|
런타임에서 모든 런타임 스레드를 다시 시작하고 있음을 프로파일러에 알립니다. |
|
런타임에서 수행 중이던 런타임 일시 중단을 취소했음을 프로파일러에 알립니다. |
|
런타임에서 모든 런타임 스레드의 일시 중단을 완료했음을 프로파일러에 알립니다. |
|
런타임에서 모든 런타임 스레드를 일시 중단하려고 함을 프로파일러에 알립니다. |
|
지정된 스레드가 일시 중단된 후 다시 시작되었음을 프로파일러에 알립니다. |
|
지정된 스레드가 일시 중단되었거나 일시 중단될 것임을 프로파일러에 알립니다. |
|
응용 프로그램이 종료되고 있음을 프로파일러에 알립니다. |
|
관리되는 스레드가 특정 OS(운영 체제) 스레드를 사용하여 구현되고 있음을 프로파일러에 알립니다. |
|
스레드가 만들어졌음을 프로파일러에 알립니다. |
|
스레드가 소멸되었음을 프로파일러에 알립니다. |
|
비관리 코드에서 관리 코드로 전환되었음을 프로파일러에 알립니다. |
설명
CLR에서는 프로파일러가 구독한 이벤트가 발생할 때 프로파일러에 이를 알리기 위해 ICorProfilerCallback 또는 ICorProfilerCallback2 인터페이스의 메서드를 호출합니다. 이 인터페이스는 CLR에서 코드 프로파일러와 통신하는 데 사용되는 기본 콜백 인터페이스입니다.
코드 프로파일러에서는 ICorProfilerCallback 인터페이스의 메서드를 구현해야 합니다. .NET Framework 버전 2.0 이상의 경우에는 프로파일러에서 ICorProfilerCallback2 메서드도 구현해야 합니다. 구현된 각 메서드에서는 HRESULT를 반환해야 하여 이 값은 성공할 경우 S_OK 값, 실패할 경우 E_FAIL 값입니다. 현재 CLR에서는 ICorProfilerCallback::ObjectReferences를 제외한 각 콜백에서 반환된 HRESULT를 무시합니다.
Microsoft Windows 레지스트리에서 코드 프로파일러는 ICorProfilerCallback 및 ICorProfilerCallback2 인터페이스를 구현하는 해당 COM(구성 요소 개체 모델) 개체를 등록해야 합니다. 코드 프로파일러는 ICorProfilerInfo::SetEventMask를 호출하여 알림을 받을 이벤트를 구독합니다. 이는 대개 프로파일러에 구현된 ICorProfilerCallback::Initialize에서 수행됩니다. 그러면 프로파일러에서는 실행 중인 런타임 프로세스에서 이벤트가 발생하기 직전이나 직후에 런타임으로부터 알림을 받을 수 있습니다.
참고 |
---|
프로파일러는 단일 COM 개체를 등록합니다.프로파일러가 .NET Framework 버전 1.0 또는 1.1을 대상으로 하는 경우 해당 COM 개체는 ICorProfilerCallback의 메서드만 구현해야 합니다.프로파일러가 .NET Framework 버전 2.0 이상을 대상으로 하는 경우에는 해당 COM 개체가 ICorProfilerCallback2의 메서드도 구현해야 합니다. |
요구 사항
플랫폼: .NET Framework 시스템 요구 사항 참조
헤더: CorProf.idl, CorProf.h
라이브러리: CorGuids.lib
.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0