Freigeben über


ICorProfilerCallback-Schnittstelle

Stellt Methoden bereit, die von der Common Language Runtime (CLR) verwendet werden, um einen Codeprofiler zu benachrichtigen, wenn die Ereignisse, für die der Profiler abonniert wurde, auftreten.

Methodik

Methode Description
AppDomainCreationFinished-Methode Benachrichtigt den Profiler, dass eine Anwendungsdomäne erstellt wurde.
AppDomainCreationStarted-Methode Benachrichtigt den Profiler, dass eine Anwendungsdomäne erstellt wird.
AppDomainShutdownFinished-Methode Benachrichtigt den Profiler, dass eine Anwendungsdomäne aus einem Prozess entladen wurde.
AppDomainShutdownStarted-Methode Benachrichtigt den Profiler, dass eine Anwendungsdomäne aus einem Prozess entladen wird.
AssemblyLoadFinished-Methode Benachrichtigt den Profiler, dass das Laden einer Assembly abgeschlossen ist.
AssemblyLoadStarted-Methode Benachrichtigt den Profiler, dass eine Assembly geladen wird.
AssemblyUnloadFinished-Methode Benachrichtigt den Profiler, dass eine Assembly entladen wurde.
AssemblyUnloadStarted-Methode Benachrichtigt den Profiler, dass eine Assembly entladen wird.
ClassLoadFinished-Methode Benachrichtigt den Profiler, dass das Laden einer Klasse abgeschlossen ist.
ClassLoadStarted-Methode Benachrichtigt den Profiler, dass eine Klasse geladen wird.
ClassUnloadFinished-Methode Benachrichtigt den Profiler, dass eine Klasse die Entladung abgeschlossen hat.
ClassUnloadStarted-Methode Benachrichtigt den Profiler, dass eine Klasse entladen wird.
COMClassicVTableCreated-Methode Benachrichtigt den Profiler, dass ein laufzeitaufrufbarer Wrapper (RCW) für die angegebene IID und Klasse erstellt wurde.
COMClassicVTableDestroyed-Methode Benachrichtigt den Profiler, dass ein RCW zerstört wird.
ExceptionCatcherEnter-Methode Benachrichtigt den Profiler, dass das Steuerelement an den entsprechenden catch Block übergeben wird.
ExceptionCatcherLeave-Methode Benachrichtigt den Profiler, dass das Steuerelement aus dem entsprechenden catch Block übergeben wird.
ExceptionCLRCatcherExecute-Methode Veraltet in .NET Framework, Version 2.0.
ExceptionCLRCatcherFound-Methode Veraltet in .NET Framework 2.0.
ExceptionOSHandlerEnter-Methode Nicht implementiert. Ein Profiler, der nicht verwaltete Ausnahmeinformationen benötigt, muss diese Informationen auf andere Wege abrufen.
ExceptionOSHandlerLeave-Methode Nicht implementiert. Ein Profiler, der nicht verwaltete Ausnahmeinformationen benötigt, muss diese Informationen auf andere Wege abrufen.
ExceptionSearchCatcherFound-Methode Benachrichtigt den Profiler, dass die Suchphase der Ausnahmebehandlung einen Handler für die ausgelöste Ausnahme gefunden hat.
ExceptionSearchFilterEnter-Methode Benachrichtigt den Profiler, dass ein Benutzerfilter ausgeführt wird.
ExceptionSearchFilterLeave-Methode Benachrichtigt den Profiler, dass der Benutzerfilter gerade ausgeführt wurde.
ExceptionSearchFunctionEnter-Methode Benachrichtigt den Profiler, dass die Suchphase der Ausnahmebehandlung eine Funktion eingegeben hat.
ExceptionSearchFunctionLeave-Methode Benachrichtigt den Profiler, dass die Suchphase der Ausnahmebehandlung die Suche beendet hat.
ExceptionThrown-Methode Benachrichtigt den Profiler, dass eine Ausnahme ausgelöst wurde.
ExceptionUnwindFinallyEnter-Methode Benachrichtigt den Profiler, dass die Abspannphase der Ausnahmebehandlung eine finally Klausel eingibt, die in der angegebenen Funktion enthalten ist.
ExceptionUnwindFinallyLeave-Methode Benachrichtigt den Profiler, dass die Abbruchphase der Ausnahmebehandlung eine finally Klausel hinterlassen hat.
ExceptionUnwindFunctionEnter-Methode Benachrichtigt den Profiler, dass die Abspannphase der Ausnahmebehandlung eine Funktion eingegeben hat.
ExceptionUnwindFunctionLeave-Methode Benachrichtigt den Profiler, dass die Abspannphase des Ausnahmehandlings eine Funktion beendet hat.
FunctionUnloadStarted-Methode Benachrichtigt den Profiler, dass die Laufzeit mit dem Entladen einer Funktion begonnen hat.
Initialize-Methode Wird aufgerufen, um den Profiler immer dann zu initialisieren, wenn eine neue CLR-Anwendung gestartet wird.
JITCachedFunctionSearchFinished-Methode Benachrichtigt den Profiler, dass eine Suche für eine Funktion abgeschlossen wurde, die zuvor mit NGen.exekompiliert wurde.
JITCachedFunctionSearchStarted-Methode Benachrichtigt den Profiler, dass eine Suche für eine Funktion gestartet wurde, die zuvor mit NGen.exekompiliert wurde.
JITCompilationFinished-Methode Benachrichtigt den Profiler, dass der JIT-Compiler die Kompilierung einer Funktion abgeschlossen hat.
JITCompilationStarted-Methode Benachrichtigt den Profiler, dass der Just-in-Time-Compiler (JIT) mit der Kompilierung einer Funktion begonnen hat.
JITFunctionPitched-Methode Benachrichtigt den Profiler, dass eine Funktion, die JIT-kompiliert wurde, aus dem Arbeitsspeicher entfernt wurde.
JITInlining-Methode Benachrichtigt den Profiler, dass der JIT-Compiler eine Funktion in Übereinstimmung mit einer anderen Funktion einfügt.
ManagedToUnmanagedTransition-Methode Benachrichtigt den Profiler, dass ein Übergang von verwaltetem Code zu nicht verwaltetem Code aufgetreten ist.
ModuleAttachedToAssembly-Methode Benachrichtigt den Profiler, dass ein Modul an die übergeordnete Assembly angefügt wird.
ModuleLoadFinished-Methode Benachrichtigt den Profiler, dass das Laden eines Moduls abgeschlossen ist.
ModuleLoadStarted-Methode Benachrichtigt den Profiler, dass ein Modul geladen wird.
ModuleUnloadFinished-Methode Benachrichtigt den Profiler, dass ein Modul die Entladung abgeschlossen hat.
ModuleUnloadStarted-Methode Benachrichtigt den Profiler, dass ein Modul entladen wird.
MovedReferences-Methode Benachrichtigt den Profiler über Objektverweise, die während der Garbage Collection verschoben wurden.
ObjectAllocated-Methode Benachrichtigt den Profiler, dass der Speicher innerhalb des Heaps für ein Objekt zugewiesen wurde.
ObjectReferences-Methode Benachrichtigt den Profiler über Objekte im Arbeitsspeicher, auf die vom angegebenen Objekt verwiesen wird.
ObjectsAllocatedByClass-Methode Benachrichtigt den Profiler über die Anzahl der Instanzen jeder angegebenen Klasse, die seit der vorherigen Garbage Collection erstellt wurden.
RemotingClientInvocationFinished-Methode Benachrichtigt den Profiler, dass ein Remotinganruf zum Abschluss auf dem Client ausgeführt wurde.
RemotingClientInvocationStarted-Methode Benachrichtigt den Profiler, dass ein Remotinganruf gestartet wurde.
RemotingClientReceivingReply-Methode Benachrichtigt den Profiler, dass der serverseitige Teil eines Remotinganrufs abgeschlossen ist und der Client nun die Antwort verarbeitet.
RemotingClientSendingMessage-Methode Benachrichtigt den Profiler, dass der Client eine Anforderung an den Server sendet.
RemotingServerInvocationReturned-Methode Benachrichtigt den Profiler, dass der Prozess das Aufrufen einer Methode als Reaktion auf eine Remotemethodenaufrufanforderung abgeschlossen hat.
RemotingServerInvocationStarted-Methode Benachrichtigt den Profiler, dass der Prozess als Reaktion auf eine Remotemethodenaufrufanforderung eine Methode aufruft.
RemotingServerReceivingMessage-Methode Benachrichtigt den Profiler, dass der Prozess einen Remotemethodenaufruf oder eine Aktivierungsanforderung empfängt.
RemotingServerSendingReply-Methode Benachrichtigt den Profiler, dass der Prozess die Verarbeitung einer Remotemethodenaufrufanforderung abgeschlossen hat und die Antwort über einen Kanal übertragen wird.
RootReferences-Methode Benachrichtigt den Profiler mit Informationen über Stammverweise nach der Garbage Collection.
RuntimeResumeFinished-Methode Benachrichtigt den Profiler, dass die Laufzeit alle Laufzeitthreads fortgesetzt hat und zum normalen Vorgang zurückgegeben wurde.
RuntimeResumeStarted-Methode Benachrichtigt den Profiler, dass die Laufzeit alle Laufzeitthreads fortgesetzt.
RuntimeSuspendAborted-Methode Benachrichtigt den Profiler, dass die Laufzeit die Laufzeitaufsetzung abgebrochen hat, die aufgetreten ist.
RuntimeSuspendFinished-Methode Benachrichtigt den Profiler, dass die Laufzeit das Anhalten aller Laufzeitthreads abgeschlossen hat.
RuntimeSuspendStarted-Methode Benachrichtigt den Profiler, dass die Laufzeit alle Laufzeitthreads angehalten.
RuntimeThreadResumed-Methode Benachrichtigt den Profiler, dass der angegebene Thread nach dem Anhalten fortgesetzt wurde.
RuntimeThreadSuspended-Methode Benachrichtigt den Profiler darüber, dass der angegebene Thread angehalten wurde oder angehalten werden soll.
Shutdown-Methode Benachrichtigt den Profiler, dass die Anwendung heruntergefahren wird.
ThreadAssignedToOSThread-Methode Benachrichtigt den Profiler, dass ein verwalteter Thread mithilfe eines bestimmten Betriebssystemthreads implementiert wird.
ThreadCreated-Methode Benachrichtigt den Profiler, dass ein Thread erstellt wurde.
ThreadDestroyed-Methode Benachrichtigt den Profiler, dass ein Thread zerstört wurde.
UnmanagedToManagedTransition-Methode Benachrichtigt den Profiler, dass ein Übergang von nicht verwaltetem Code zu verwaltetem Code aufgetreten ist.

Bemerkungen

Die CLR ruft eine Methode in der ICorProfilerCallback (oder ICorProfilerCallback2)-Schnittstelle auf, um den Profiler zu benachrichtigen, wenn ein Ereignis, für das der Profiler abonniert wurde, auftritt. Dies ist die primäre Rückrufschnittstelle, über die die CLR mit dem Codeprofiler kommuniziert.

Ein Codeprofiler muss die Methoden der ICorProfilerCallback Schnittstelle implementieren. Für .NET Framework, Version 2.0 oder höher, muss der Profiler auch die ICorProfilerCallback2 Methoden implementieren. Jede Methodenimplementierung muss ein HRESULT zurückgeben, das den Wert S_OK bei Erfolg oder E_FAIL bei Fehlern aufweist. Derzeit ignoriert die CLR das HRESULT, das von jedem Rückruf mit Ausnahme von ICorProfilerCallback::ObjectReferences zurückgegeben wird.

In der Microsoft Windows-Registrierung muss ein Codeprofiler sein Com-Objekt (Component Object Model) registrieren, das die ICorProfilerCallback Komponenten implementiert und ICorProfilerCallback2 Schnittstellen implementiert. Ein Codeprofiler abonniert die Ereignisse, für die er Benachrichtigungen empfangen möchte, indem ICorProfilerInfo::SetEventMask aufgerufen wird. Dies geschieht in der Regel in der Implementierung von ICorProfilerCallback::Initialize. Der Profiler kann dann Benachrichtigungen von der Laufzeit empfangen, wenn ein Ereignis eintritt oder gerade in einem ausgeführten Laufzeitprozess aufgetreten ist.

Hinweis

Der Profiler registriert ein einzelnes COM-Objekt. Wenn der Profiler auf .NET Framework, Version 1.0 oder 1.1, ausgerichtet ist, muss dieses COM-Objekt nur die Methoden von ICorProfilerCallback. Wenn es auf .NET Framework, Version 2.0 oder höher, ausgerichtet ist, muss das COM-Objekt auch die Methoden von ICorProfilerCallback2.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Kopfball: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit Version 1.0 verfügbar.

Siehe auch