Udostępnij za pośrednictwem


ICorProfilerCallback — Interfejs

Udostępnia metody, które są używane przez środowisko uruchomieniowe języka wspólnego (CLR) do powiadamiania profilera kodu o zdarzeniach, do których profiler zasubskrybował.

Metody

Metoda Opis
AppDomainCreationFinished, metoda Powiadamia profilera o utworzeniu domeny aplikacji.
AppDomainCreationStarted, metoda Powiadamia profilera o utworzeniu domeny aplikacji.
AppDomainShutdownFinished, metoda Powiadamia profilera, że domena aplikacji została zwolniona z procesu.
AppDomainShutdownStarted, metoda Powiadamia profilera, że domena aplikacji jest zwalniana z procesu.
AssemblyLoadFinished, metoda Powiadamia profilera o zakończeniu ładowania zestawu.
AssemblyLoadStarted, metoda Powiadamia profilera, że zestaw jest ładowany.
AssemblyUnloadFinished, metoda Powiadamia profilera o tym, że zestaw został zwolniony.
AssemblyUnloadStarted, metoda Powiadamia profilera, że zestaw jest zwalniany.
ClassLoadFinished, metoda Powiadamia profilera o zakończeniu ładowania klasy.
ClassLoadStarted, metoda Powiadamia profilera, że klasa jest ładowana.
ClassUnloadFinished, metoda Powiadamia profilera, że klasa zakończyła zwalnianie.
ClassUnloadStarted, metoda Powiadamia profilera, że klasa jest zwalniana.
COMClassicVTableCreated, metoda Powiadamia profilera o utworzeniu otoki wywoływanej przez środowisko uruchomieniowe (RCW) dla określonego identyfikatora IID i klasy.
COMClassicVTableDestroyed, metoda Powiadamia profilera, że rcW jest niszczony.
ExceptionCatcherEnter, metoda Powiadamia profilera, że kontrolka jest przekazywana do odpowiedniego catch bloku.
ExceptionCatcherLeave, metoda Powiadamia profilera, że kontrolka jest przekazywana z odpowiedniego catch bloku.
ExceptionCLRCatcherExecute, metoda Przestarzałe w wersji .NET Framework 2.0.
ExceptionCLRCatcherFound, metoda Przestarzałe w .NET Framework 2.0.
ExceptionOSHandlerEnter, metoda Nie zaimplementowano. Profiler, który wymaga niezarządzanych informacji o wyjątku, musi uzyskać te informacje za pomocą innych środków.
ExceptionOSHandlerLeave, metoda Nie zaimplementowano. Profiler, który wymaga niezarządzanych informacji o wyjątku, musi uzyskać te informacje za pomocą innych środków.
ExceptionSearchCatcherFound, metoda Powiadamia profilera, że faza wyszukiwania obsługi wyjątków znajduje procedurę obsługi wyjątków dla wyjątku, który został zgłoszony.
ExceptionSearchFilterEnter, metoda Powiadamia profilera o wykonaniu filtru użytkownika.
ExceptionSearchFilterLeave, metoda Powiadamia profilera, że filtr użytkownika właśnie zakończył wykonywanie.
ExceptionSearchFunctionEnter, metoda Powiadamia profilera, że faza wyszukiwania obsługi wyjątków wprowadziła funkcję.
ExceptionSearchFunctionLeave, metoda Powiadamia profilera, że faza wyszukiwania obsługi wyjątków zakończyła przeszukiwanie funkcji.
ExceptionThrown, metoda Powiadamia profilera, że został zgłoszony wyjątek.
ExceptionUnwindFinallyEnter, metoda Powiadamia profilera, że odwijanie fazy obsługi wyjątków wprowadza klauzulę zawartą finally w określonej funkcji.
ExceptionUnwindFinallyLeave, metoda Powiadamia profilera, że faza odwijenia obsługi wyjątków pozostawiła klauzulę finally .
ExceptionUnwindFunctionEnter, metoda Powiadamia profilera, że w fazie odwijenia obsługi wyjątków wprowadzono funkcję.
ExceptionUnwindFunctionLeave, metoda Powiadamia profilera o zakończeniu odwijania fazy obsługi wyjątków.
FunctionUnloadStarted, metoda Powiadamia profilera, że środowisko uruchomieniowe zaczęło zwalniać funkcję.
Initialize — Metoda Wywoływana w celu zainicjowania profilera przy każdym uruchomieniu nowej aplikacji CLR.
JITCachedFunctionSearchFinished, metoda Powiadamia profilera, że wyszukiwanie zostało zakończone dla funkcji, która została skompilowana wcześniej przy użyciu NGen.exe.
JITCachedFunctionSearchStarted, metoda Powiadamia profilera, że rozpoczęto wyszukiwanie funkcji, która została skompilowana wcześniej przy użyciu NGen.exe.
JITCompilationFinished, metoda Powiadamia profilera, że kompilator JIT zakończył kompilowanie funkcji.
JITCompilationStarted, metoda Powiadamia profilera, że kompilator just in time (JIT) zaczął kompilować funkcję.
JITFunctionPitched, metoda Powiadamia profilera, że funkcja skompilowana przez funkcję JIT została usunięta z pamięci.
JITInlining, metoda Powiadamia profilera, że kompilator JIT ma wstawić funkcję zgodną z inną funkcją.
ManagedToUnmanagedTransition, metoda Powiadamia profilera o wystąpieniu przejścia z kodu zarządzanego do niezarządzanego kodu.
ModuleAttachedToAssembly, metoda Powiadamia profilera, że moduł jest dołączany do jego zestawu nadrzędnego.
ModuleLoadFinished, metoda Powiadamia profilera o zakończeniu ładowania modułu.
ModuleLoadStarted, metoda Powiadamia profilera o załadowaniu modułu.
ModuleUnloadFinished, metoda Powiadamia profilera o zakończeniu zwalniania modułu.
ModuleUnloadStarted, metoda Powiadamia profilera, że moduł jest zwalniany.
MovedReferences, metoda Powiadamia profilera o odwołaniach do obiektów, które zostały przeniesione podczas odzyskiwania pamięci.
ObjectAllocated, metoda Powiadamia profilera, że pamięć w stercie została przydzielona dla obiektu.
ObjectReferences, metoda Powiadamia profilera o obiektach w pamięci, do których odwołuje się określony obiekt.
ObjectsAllocatedByClass, metoda Powiadamia profilera o liczbie wystąpień każdej określonej klasy, które zostały utworzone od czasu poprzedniego odzyskiwania pamięci.
RemotingClientInvocationFinished, metoda Powiadamia profilera, że wywołanie komunikacji telefonicznej zostało uruchomione do ukończenia na kliencie.
RemotingClientInvocationStarted, metoda Powiadamia profilera o rozpoczęciu połączenia komunikacji telefonicznej.
RemotingClientReceivingReply, metoda Powiadamia profilera, że część po stronie serwera wywołania komunikacji telefonicznej została ukończona, a klient otrzymuje teraz odpowiedź i ma teraz przetworzyć odpowiedź.
RemotingClientSendingMessage, metoda Powiadamia profilera, że klient wysyła żądanie do serwera.
RemotingServerInvocationReturned, metoda Powiadamia profilera, że proces zakończył wywoływanie metody w odpowiedzi na żądanie wywołania metody zdalnej.
RemotingServerInvocationStarted, metoda Powiadamia profilera, że proces jest wywoływany przez metodę w odpowiedzi na żądanie wywołania metody zdalnej.
RemotingServerReceivingMessage, metoda Powiadamia profilera, że proces otrzymuje wywołanie metody zdalnej lub żądanie aktywacji.
RemotingServerSendingReply, metoda Powiadamia profilera, że proces zakończył przetwarzanie żądania wywołania metody zdalnej i ma przekazać odpowiedź za pośrednictwem kanału.
RootReferences, metoda Powiadamia profilera o informacjach o odwołaniach do katalogu głównego po usunięciu pamięci.
RuntimeResumeFinished, metoda Powiadamia profilera, że środowisko uruchomieniowe wznowiło wszystkie wątki środowiska uruchomieniowego i powróciło do normalnego działania.
RuntimeResumeStarted, metoda Powiadamia profilera, że środowisko uruchomieniowe wznawia wszystkie wątki czasu wykonywania.
RuntimeSuspendAborted, metoda Powiadamia profilera, że środowisko uruchomieniowe przerwało zawieszenie w czasie wykonywania, które wystąpiło.
RuntimeSuspendFinished, metoda Powiadamia profilera, że środowisko uruchomieniowe zakończyło zawieszenie wszystkich wątków czasu wykonywania.
RuntimeSuspendStarted, metoda Powiadamia profilera, że środowisko uruchomieniowe ma wstrzymać wszystkie wątki czasu wykonywania.
RuntimeThreadResumed, metoda Powiadamia profilera, że określony wątek został wznowiony po zawieszeniu.
RuntimeThreadSuspended, metoda Powiadamia profilera, że określony wątek został zawieszony lub ma zostać zawieszony.
Shutdown, metoda Powiadamia profilera, że aplikacja jest zamykana.
ThreadAssignedToOSThread, metoda Powiadamia profilera, że zarządzany wątek jest implementowany przy użyciu określonego wątku systemu operacyjnego.
ThreadCreated, metoda Powiadamia profilera o utworzeniu wątku.
ThreadDestroyed, metoda Powiadamia profilera, że wątek został zniszczony.
UnmanagedToManagedTransition, metoda Powiadamia profilera, że wystąpiło przejście z niezarządzanego kodu do kodu zarządzanego.

Uwagi

ClR wywołuje metodę w interfejsie ICorProfilerCallback (lub ICorProfilerCallback2), aby powiadomić profilera o wystąpieniu zdarzenia, do którego profiler zasubskrybował. Jest to podstawowy interfejs wywołania zwrotnego, za pomocą którego clR komunikuje się z profilerem kodu.

Profiler kodu musi implementować metody interfejsu ICorProfilerCallback . W przypadku .NET Framework w wersji 2.0 lub nowszej profiler musi również zaimplementować ICorProfilerCallback2 metody. Każda implementacja metody musi zwrócić wartość HRESULT o wartości S_OK powodzenia lub E_FAIL po awarii. Obecnie clR ignoruje HRESULT zwracany przez każde wywołanie zwrotne z wyjątkiem ICorProfilerCallback::ObjectReferences.

W rejestrze systemu Microsoft Windows profiler kodu musi zarejestrować swój obiekt Component Object Model (COM), który implementuje ICorProfilerCallback interfejsy i ICorProfilerCallback2 . Profiler kodu subskrybuje zdarzenia, dla których chce otrzymywać powiadomienia, wywołując element ICorProfilerInfo::SetEventMask. Zwykle odbywa się to w implementacji profilera ICorProfilerCallback::Initialize. Profiler może następnie odbierać powiadomienia ze środowiska uruchomieniowego, gdy zdarzenie ma się zdarzyć lub właśnie wystąpiło w procesie wykonywania środowiska uruchomieniowego.

Uwaga

Profiler rejestruje pojedynczy obiekt COM. Jeśli profiler jest przeznaczony dla .NET Framework w wersji 1.0 lub 1.1, ten obiekt COM musi zaimplementować tylko metody ICorProfilerCallback. Jeśli jest przeznaczona dla .NET Framework w wersji 2.0 lub nowszej, obiekt COM musi również zaimplementować metody .ICorProfilerCallback2

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: CorProf.idl, CorProf.h

Biblioteki: CorGuids.lib

wersje .NET Framework: dostępne od wersji 1.0

Zobacz też