ICorProfilerCallback, interface

Fournit des méthodes qui sont utilisées par le CLR (Common language runtime) pour envoyer des notifications à un profileur de code quand les événements auxquels le profileur s’est abonné se produisent.

Méthodes

Méthode Description
AppDomainCreationFinished, méthode Avertit le profileur qu’un domaine d’application a été créé.
AppDomainCreationStarted, méthode Avertit le profileur qu’un domaine d’application est en cours de création.
AppDomainShutdownFinished, méthode Avertit le profileur qu’un domaine d’application a été déchargé à partir d’un processus.
AppDomainShutdownStarted, méthode Avertit le profileur qu’un domaine d’application est déchargé à partir d’un processus.
AssemblyLoadFinished, méthode Avertit le profileur qu’un assembly a terminé le chargement.
AssemblyLoadStarted, méthode Avertit le profileur qu’un assembly est en cours de chargement.
AssemblyUnloadFinished, méthode Avertit le profileur qu’un assembly a été déchargé.
AssemblyUnloadStarted, méthode Avertit le profileur qu’un assembly est déchargé.
ClassLoadFinished, méthode Avertit le profileur qu’une classe a terminé le chargement.
ClassLoadStarted, méthode Avertit le profileur qu’une classe est chargée.
ClassUnloadFinished, méthode Avertit le profileur qu’une classe a terminé le déchargement.
ClassUnloadStarted, méthode Avertit le profileur qu’une classe est déchargée.
COMClassicVTableCreated, méthode Avertit le profileur qu’un wrapper RCW pour l’IID et la classe spécifiés a été créé.
COMClassicVTableDestroyed, méthode Avertit le profileur qu’un RCW est détruit.
ExceptionCatcherEnter, méthode Avertit le profileur que le contrôle est passé au bloc catch approprié.
ExceptionCatcherLeave, méthode Avertit le profileur que le contrôle est passé hors du bloc catch approprié.
ExceptionCLRCatcherExecute, méthode Obsolète dans .NET Framework 2.0.
ExceptionCLRCatcherFound, méthode Obsolète dans .NET Framework 2.0.
ExceptionOSHandlerEnter, méthode Non implémenté. Un profileur qui a besoin d’informations d’exceptions non managées doit obtenir ces informations par d’autres moyens.
ExceptionOSHandlerLeave, méthode Non implémenté. Un profileur qui a besoin d’informations d’exceptions non managées doit obtenir ces informations par d’autres moyens.
ExceptionSearchCatcherFound, méthode Avertit le profileur que la phase de recherche de la gestion des exceptions a localisé un gestionnaire pour l’exception levée.
ExceptionSearchFilterEnter, méthode Avertit le profileur qu’un filtre utilisateur est en cours d’exécution.
ExceptionSearchFilterLeave, méthode Avertit le profileur qu’un filtre utilisateur vient d’être exécuté.
ExceptionSearchFunctionEnter, méthode Avertit le profileur que la phase de recherche de la gestion des exceptions est entré dans une fonction.
ExceptionSearchFunctionLeave, méthode Avertit le profileur que la phase de recherche de la gestion des exceptions a terminé la recherche d’une fonction.
ExceptionThrown, méthode Avertit le profileur qu’une exception a été levée.
ExceptionUnwindFinallyEnter, méthode Avertit le profileur que la phase de déroulement de la gestion des exceptions entre une dans une clause finally contenue dans la fonction spécifiée.
ExceptionUnwindFinallyLeave, méthode Avertit le profileur que la phase de déroulement de la gestion des exceptions a quitté une clause finally.
ExceptionUnwindFunctionEnter, méthode Avertit le profileur que la phase de déroulement de la gestion des exceptions est entré dans une fonction.
ExceptionUnwindFunctionLeave, méthode Avertit le profileur que la phase de déroulement de la gestion des exceptions est fini le déroulement d’une fonction.
FunctionUnloadStarted, méthode Avertit le profileur que le runtime a commencé à décharger une fonction.
Initialize, méthode Appelé pour initialiser le profileur chaque fois qu’une nouvelle application CLR est démarrée.
JITCachedFunctionSearchFinished, méthode Avertit le profileur qu’une recherche est terminée pour une fonction compilée précédemment à l’aide de NGen.exe.
JITCachedFunctionSearchStarted, méthode Avertit le profileur qu’une recherche a été lancée pour une fonction compilée précédemment à l’aide de NGen.exe.
JITCompilationFinished, méthode Avertit le profileur que le compilateur JIT a terminé la compilation d’une fonction.
JITCompilationStarted, méthode Avertit le profileur que le compilateur juste-à-temps (JIT) a commencé à compiler une fonction.
JITFunctionPitched, méthode Avertit le profileur qu’une fonction qui a été compilée par JIT a été supprimée de la mémoire.
JITInlining, méthode Avertit le profileur que le compilateur JIT est sur le point d’insérer une fonction inline avec une autre fonction.
ManagedToUnmanagedTransition, méthode Avertit le profileur qu’une transition du code managé au code non managé s’est produite.
ModuleAttachedToAssembly, méthode Avertit le profileur qu’un module est attaché à son assembly parent.
ModuleLoadFinished, méthode Avertit le profileur qu’un module a terminé le chargement.
ModuleLoadStarted, méthode Avertit le profileur qu’un module est chargé.
ModuleUnloadFinished, méthode Avertit le profileur qu’un module a terminé le déchargement.
ModuleUnloadStarted, méthode Avertit le profileur qu’un module est déchargé.
MovedReferences, méthode Avertit le profileur au sujet de références d’objet qui ont été déplacées pendant le nettoyage de la mémoire.
ObjectAllocated, méthode Avertit le profileur que de la mémoire dans le tas a été allouée pour un objet.
ObjectReferences, méthode Avertit le profileur au sujet d’objets en mémoire référencés par l’objet spécifié.
ObjectsAllocatedByClass, méthode Avertit le profileur du nombre d’instances de chaque classe spécifiée qui ont été créées depuis le nettoyage de la mémoire précédent.
RemotingClientInvocationFinished, méthode Avertit le profileur qu’un appel de communication à distance s’est exécuté jusqu’à la fin sur le client.
RemotingClientInvocationStarted, méthode Avertit le profileur qu’un appel de communication à distance a démarré.
RemotingClientReceivingReply, méthode Avertit le profileur que la partie côté serveur d’un appel de communication à distance est terminée et que le client reçoit et s’apprête à traiter la réponse.
RemotingClientSendingMessage, méthode Avertit le profileur que le client envoie une requête au serveur.
RemotingServerInvocationReturned, méthode Avertit le profileur que le processus a terminé d’appeler une méthode en réponse à une demande d’appel de méthode distante.
RemotingServerInvocationStarted, méthode Avertit le profileur que le processus appelle une méthode en réponse à une demande d’appel de méthode distante.
RemotingServerReceivingMessage, méthode Avertit le profileur que le processus reçoit un appel de méthode distante ou une demande d’activation.
RemotingServerSendingReply, méthode Avertit le profileur que le processus a terminé le traitement d’une demande d’appel de méthode distante et est sur le point de transmettre la réponse via un canal.
RootReferences, méthode Notifie le profileur avec des informations sur les références racines après le nettoyage de la mémoire.
RuntimeResumeFinished, méthode Avertit le profileur que le runtime a repris tous les threads d’exécution et est retourné au fonctionnement normal.
RuntimeResumeStarted, méthode Avertit le profileur que le runtime reprend tous les threads à l’exécution.
RuntimeSuspendAborted, méthode Avertit le profileur que le runtime a abandonné la suspension au moment de l’exécution qui s’est produite.
RuntimeSuspendFinished, méthode Avertit le profileur que le runtime a terminé la suspension de tous les threads à l’exécution.
RuntimeSuspendStarted, méthode Avertit le profileur que le runtime est sur le point de suspendre tous les threads à l’exécution.
RuntimeThreadResumed, méthode Avertit le profileur que le thread spécifié a repris après avoir été suspendu.
RuntimeThreadSuspended, méthode Avertit le profileur que le thread spécifié a été suspendu ou est sur le point d’être suspendu.
Shutdown Method Avertit le profileur que l’application s’arrête.
ThreadAssignedToOSThread, méthode Avertit le profileur qu’un thread managé est implémenté à l’aide d’un thread de système d’exploitation particulier.
ThreadCreated, méthode Avertit le profileur qu’un thread a été créé.
ThreadDestroyed, méthode Avertit le profileur qu’un thread a été détruit.
UnmanagedToManagedTransition, méthode Avertit le profileur qu’une transition du code non managé au code managé s’est produite.

Notes

Le CLR appelle une méthode dans l’interface ICorProfilerCallback (ou ICorProfilerCallback2) pour avertir le profileur lorsqu’un événement auquel le profileur s’est abonné se produit. Il s’agit de l’interface de rappel principale via laquelle le CLR communique avec le profileur de code.

Un profileur de code doit implémenter les méthodes de l’interface ICorProfilerCallback. Pour .NET Framework version 2.0 ou ultérieure, le profileur doit également implémenter les méthodes ICorProfilerCallback2. Chaque implémentation de méthode doit retourner un HRESULT dont la valeur est S_OK en cas de réussite ou E_FAIL en cas d’échec. Actuellement, le CLR ignore le HRESULT retourné par chaque rappel, sauf ICorProfilerCallback::ObjectReferences.

Dans le Registre Microsoft Windows, un profileur de code doit inscrire son objet COM (Component Object Model) qui implémente les interfaces ICorProfilerCallback et ICorProfilerCallback2. Un profileur de code s’abonne aux événements pour lesquels il souhaite recevoir une notification en appelant ICorProfilerInfo::SetEventMask. Cette opération est généralement effectuée dans l’implémentation du profileur iCorProfilerCallback::Initialize. Le profileur est alors en mesure de recevoir une notification du runtime lorsqu’un événement est sur le point de se produire ou s’est produit dans un processus de runtime en cours d’exécution.

Notes

Le profileur inscrit un seul objet COM. Si le profileur cible .NET Framework version 1.0 ou 1.1, cet objet COM doit implémenter uniquement les méthodes de ICorProfilerCallback. S’il cible .NET Framework version 2.0 ou ultérieure, l’objet COM doit également implémenter les méthodes de ICorProfilerCallback2.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorProf.idl, CorProf.h

Bibliothèque : CorGuids.lib

Versions de .NET Framework : Disponible à partir de la version 1.0

Voir aussi