Udostępnij przez


ICorProfilerCallback, interfejs

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

Methods

Metoda Description
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, że zestaw zakończył ładowanie.
AssemblyLoadStarted, metoda Powiadamia profilera, że zestaw jest ładowany.
AssemblyUnloadFinished, metoda Powiadamia profilera, że zestaw został zwolniony.
AssemblyUnloadStarted, metoda Powiadamia profilera, że zestaw jest zwalniany.
ClassLoadFinished, metoda Powiadamia profilera, że klasa zakończyła ładowanie.
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, że utworzono otokę wywoływaną 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 programie .NET Framework w wersji 2.0.
ExceptionCLRCatcherFound, metoda Przestarzałe w programie .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 znalazła procedurę obsługi wyjątku, która została zgłoszona.
ExceptionSearchFilterEnter, metoda Powiadamia profilera, że filtr użytkownika jest wykonywany.
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 wyszukiwanie funkcji.
ExceptionThrown, metoda Powiadamia profilera, że zgłoszono wyjątek.
ExceptionUnwindFinallyEnter, metoda Powiadamia profilera, że faza odwijenia 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 faza odwijenia obsługi wyjątków wprowadziła funkcję.
ExceptionUnwindFunctionLeave, metoda Powiadamia profilera, że faza odwijania obsługi wyjątków zakończyła odwijanie funkcji.
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 o zakończeniu wyszukiwania 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) rozpoczął kompilowanie funkcji.
JITFunctionPitched, metoda Powiadamia profilera, że funkcja, która została skompilowana w trybie 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, że moduł zakończył ładowanie.
ModuleLoadStarted, metoda Powiadamia profilera, że moduł jest ładowany.
ModuleUnloadFinished, metoda Powiadamia profilera, że moduł zakończył zwalnianie.
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 w celu ukończenia na kliencie.
RemotingClientInvocationStarted, metoda Powiadamia profilera, że uruchomiono wywołanie komunikacji telefonicznej.
RemotingClientReceivingReply, metoda Powiadamia profilera, że część po stronie serwera wywołania komunikacji telefonicznej została ukończona, a klient otrzymuje teraz i ma 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 wywoła metodę w odpowiedzi na żądanie wywołania metody zdalnej.
RemotingServerReceivingMessage, metoda Powiadamia profilera, że proces odbiera wywołanie metody zdalnej lub żądanie aktywacji.
RemotingServerSendingReply, metoda Powiadamia profilera, że proces zakończył przetwarzanie żądania wywołania metody zdalnej i ma na celu przesłanie odpowiedzi za pośrednictwem kanału.
RootReferences, metoda Powiadamia profilera o informacjach dotyczących odwołań głównych po usunięciu pamięci.
RuntimeResumeFinished, metoda Powiadamia profilera, że środowisko uruchomieniowe wznowiło wszystkie wątki środowiska uruchomieniowego i wróciło do normalnego działania.
RuntimeResumeStarted, metoda Powiadamia profilera, że środowisko uruchomieniowe wznawia wszystkie wątki środowiska uruchomieniowego.
RuntimeSuspendAborted, metoda Powiadamia profilera, że środowisko uruchomieniowe przerwało zawieszenie środowiska uruchomieniowego, które miało miejsce.
RuntimeSuspendFinished, metoda Powiadamia profilera, że środowisko uruchomieniowe zakończyło zawieszenie wszystkich wątków środowiska uruchomieniowego.
RuntimeSuspendStarted, metoda Powiadamia profilera, że środowisko uruchomieniowe ma wstrzymać wszystkie wątki środowiska uruchomieniowego.
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 zostanie 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 o wystąpieniu przejścia 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 programu .NET Framework w wersji 2.0 lub nowszej profiler musi również zaimplementować ICorProfilerCallback2 metody. Każda implementacja metody musi zwrócić wartość HRESULT, która ma wartość S_OK powodzenia lub E_FAIL po awarii. Obecnie clR ignoruje HRESULT zwracane przez każde wywołanie zwrotne z wyjątkiem ICorProfilerCallback::ObjectReferences.

W rejestrze systemu Microsoft Windows profiler kodu musi zarejestrować obiekt Modelu obiektów składników (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 jest następnie w stanie odbierać powiadomienia ze środowiska uruchomieniowego, gdy zdarzenie ma się zdarzyć lub właśnie wystąpiło w procesie wykonywania środowiska uruchomieniowego.

Uwaga / Notatka

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

Requirements

Platformy: Zobacz Wymagania systemowe.

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

Biblioteka: CorGuids.lib

Wersje programu .NET Framework: dostępne od wersji 1.0

Zobacz także