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