Interfaccia ICorProfilerCallback
Fornisce metodi utilizzati da Common Language Runtime (CLR) per notificare a un profiler di codice quando si verificano gli eventi a cui è stato sottoscritto il profiler.
Metodi
Metodo | Descrizione |
---|---|
Metodo AppDomainCreationFinished | Notifica al profiler che è stato creato un dominio applicazione. |
Metodo AppDomainCreationStarted | Notifica al profiler che viene creato un dominio applicazione. |
Metodo AppDomainShutdownFinished | Notifica al profiler che un dominio applicazione è stato scaricato da un processo. |
Metodo AppDomainShutdownStarted | Notifica al profiler che un dominio applicazione viene scaricato da un processo. |
Metodo AssemblyLoadFinished | Notifica al profiler che un assembly ha terminato il caricamento. |
Metodo AssemblyLoadStarted | Notifica al profiler che viene caricato un assembly. |
Metodo AssemblyUnloadFinished | Notifica al profiler che un assembly è stato scaricato. |
Metodo AssemblyUnloadStarted | Notifica al profiler che un assembly viene scaricato. |
Metodo ClassLoadFinished | Notifica al profiler che una classe ha terminato il caricamento. |
Metodo ClassLoadStarted | Notifica al profiler che viene caricata una classe. |
Metodo ClassUnloadFinished | Notifica al profiler che una classe ha terminato lo scaricamento. |
Metodo ClassUnloadStarted | Notifica al profiler che una classe viene scaricata. |
Metodo COMClassicVTableCreated | Notifica al profiler che è stato creato un wrapper chiamabile in fase di esecuzione (RCW) per l'IID e la classe specificati. |
Metodo COMClassicVTableDestroyed | Notifica al profiler che un RCW viene eliminato definitivamente. |
Metodo ExceptionCatcherEnter | Notifica al profiler che il controllo viene passato al blocco appropriato catch . |
Metodo ExceptionCatcherLeave | Notifica al profiler che il controllo viene passato fuori dal blocco appropriato catch . |
Metodo ExceptionCLRCatcherExecute | Obsoleto in .NET Framework versione 2.0. |
Metodo ExceptionCLRCatcherFound | Obsoleto in .NET Framework 2.0. |
Metodo ExceptionOSHandlerEnter | Non implementato. Un profiler che necessita di informazioni sulle eccezioni non gestite deve ottenere queste informazioni tramite altri mezzi. |
Metodo ExceptionOSHandlerLeave | Non implementato. Un profiler che necessita di informazioni sulle eccezioni non gestite deve ottenere queste informazioni tramite altri mezzi. |
Metodo ExceptionSearchCatcherFound | Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha individuato un gestore per l'eccezione generata. |
Metodo ExceptionSearchFilterEnter | Notifica al profiler che viene eseguito un filtro utente. |
Metodo ExceptionSearchFilterLeave | Notifica al profiler che un filtro utente ha appena terminato l'esecuzione. |
Metodo ExceptionSearchFunctionEnter | Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha immesso una funzione. |
Metodo ExceptionSearchFunctionLeave | Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha completato la ricerca in una funzione. |
Metodo ExceptionThrown | Notifica al profiler che è stata generata un'eccezione. |
Metodo ExceptionUnwindFinallyEnter | Notifica al profiler che la fase di rimozione della gestione delle eccezioni immette una finally clausola contenuta nella funzione specificata. |
Metodo ExceptionUnwindFinallyLeave | Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha lasciato una finally clausola . |
Metodo ExceptionUnwindFunctionEnter | Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha immesso una funzione. |
Metodo ExceptionUnwindFunctionLeave | Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha terminato la rimozione di una funzione. |
Metodo FunctionUnloadStarted | Notifica al profiler che il runtime ha iniziato a scaricare una funzione. |
Metodo Initialize | Chiamato per inizializzare il profiler ogni volta che viene avviata una nuova applicazione CLR. |
Metodo JITCachedFunctionSearchFinished | Notifica al profiler che una ricerca è stata completata per una funzione compilata in precedenza usando NGen.exe. |
Metodo JITCachedFunctionSearchStarted | Notifica al profiler che una ricerca è stata avviata per una funzione compilata in precedenza usando NGen.exe. |
Metodo JITCompilationFinished | Notifica al profiler che il compilatore JIT ha completato la compilazione di una funzione. |
Metodo JITCompilationStarted | Notifica al profiler che il compilatore JIT (Just-In-Time) ha iniziato a compilare una funzione. |
Metodo JITFunctionPitched | Notifica al profiler che una funzione compilata tramite JIT è stata rimossa dalla memoria. |
Metodo JITInlining | Notifica al profiler che il compilatore JIT sta per inserire una funzione in linea con un'altra funzione. |
Metodo ManagedToUnmanagedTransition | Notifica al profiler che si è verificata una transizione dal codice gestito al codice non gestito. |
Metodo ModuleAttachedToAssembly | Notifica al profiler che un modulo viene collegato all'assembly padre. |
Metodo ModuleLoadFinished | Notifica al profiler che un modulo ha terminato il caricamento. |
Metodo ModuleLoadStarted | Notifica al profiler che viene caricato un modulo. |
Metodo ModuleUnloadFinished | Notifica al profiler che un modulo ha terminato lo scaricamento. |
Metodo ModuleUnloadStarted | Notifica al profiler che un modulo viene scaricato. |
Metodo MovedReferences | Notifica al profiler i riferimenti a oggetti spostati durante l'operazione di Garbage Collection. |
Metodo ObjectAllocated | Notifica al profiler che la memoria all'interno dell'heap è stata allocata per un oggetto. |
Metodo ObjectReferences | Notifica al profiler sugli oggetti in memoria a cui fa riferimento l'oggetto specificato. |
Metodo ObjectsAllocatedByClass | Notifica al profiler il numero di istanze di ogni classe specificata creata dopo la garbage collection precedente. |
Metodo RemotingClientInvocationFinished | Notifica al profiler che una chiamata remota è stata eseguita per il completamento nel client. |
Metodo RemotingClientInvocationStarted | Notifica al profiler che è stata avviata una chiamata remota. |
Metodo RemotingClientReceivingReply | Notifica al profiler che la parte lato server di una chiamata remota è stata completata e il client riceve e sta ora per elaborare la risposta. |
Metodo RemotingClientSendingMessage | Notifica al profiler che il client invia una richiesta al server. |
Metodo RemotingServerInvocationReturned | Notifica al profiler che il processo ha terminato di richiamare un metodo in risposta a una richiesta di chiamata al metodo remoto. |
Metodo RemotingServerInvocationStarted | Notifica al profiler che il processo richiama un metodo in risposta a una richiesta di chiamata al metodo remoto. |
Metodo RemotingServerReceivingMessage | Notifica al profiler che il processo riceve una chiamata o una richiesta di attivazione remota del metodo. |
Metodo RemotingServerSendingReply | Notifica al profiler che il processo ha completato l'elaborazione di una richiesta di chiamata al metodo remoto e sta per trasmettere la risposta tramite un canale. |
Metodo RootReferences | Notifica al profiler informazioni sui riferimenti radice dopo Garbage Collection. |
Metodo RuntimeResumeFinished | Notifica al profiler che il runtime ha ripreso tutti i thread di runtime e ha restituito alla normale operazione. |
Metodo RuntimeResumeStarted | Notifica al profiler che il runtime riprende tutti i thread di runtime. |
Metodo RuntimeSuspendAborted | Notifica al profiler che il runtime ha interrotto la sospensione in fase di esecuzione che si è verificata. |
Metodo RuntimeSuspendFinished | Notifica al profiler che il runtime ha completato la sospensione di tutti i thread di runtime. |
Metodo RuntimeSuspendStarted | Notifica al profiler che il runtime sta per sospendere tutti i thread di runtime. |
Metodo RuntimeThreadResumed | Notifica al profiler che il thread specificato è stato ripreso dopo la sospensione. |
Metodo RuntimeThreadSuspended | Notifica al profiler che il thread specificato è stato o sta per essere sospeso. |
Metodo Shutdown | Notifica al profiler che l'applicazione sta arrestando. |
Metodo ThreadAssignedToOSThread | Notifica al profiler che viene implementato un thread gestito usando un thread del sistema operativo specifico. |
Metodo ThreadCreated | Notifica al profiler che è stato creato un thread. |
Metodo ThreadDestroyed | Notifica al profiler che un thread è stato distrutto. |
Metodo UnmanagedToManagedTransition | Notifica al profiler che si è verificata una transizione dal codice non gestito al codice gestito. |
Commenti
CLR chiama un metodo nell'interfaccia ICorProfilerCallback
(o ICorProfilerCallback2) per notificare al profiler quando un evento, a cui il profiler ha sottoscritto, si verifica. Si tratta dell'interfaccia di callback primaria tramite la quale CLR comunica con il profiler del codice.
Un profiler di codice deve implementare i metodi dell'interfaccia ICorProfilerCallback
. Per .NET Framework versione 2.0 o successiva, il profiler deve implementare anche i ICorProfilerCallback2
metodi. Ogni implementazione del metodo deve restituire un valore HRESULT che ha un valore di S_OK in caso di esito positivo o E_FAIL in caso di errore. Attualmente, CLR ignora il valore HRESULT restituito da ogni callback tranne ICorProfilerCallback::ObjectReferences.
Nel Registro di sistema Di Microsoft Windows, un profiler di codice deve registrare il relativo oggetto Component Object Model (COM) che implementa le ICorProfilerCallback
interfacce e ICorProfilerCallback2
. Un profiler di codice sottoscrive gli eventi per i quali vuole ricevere una notifica chiamando ICorProfilerInfo::SetEventMask. Questa operazione viene in genere eseguita nell'implementazione del profiler di ICorProfilerCallback::Initialize. Il profiler è quindi in grado di ricevere una notifica dal runtime quando un evento sta per verificarsi o si è appena verificato in un processo di runtime in esecuzione.
Nota
Il profiler registra un singolo oggetto COM. Se il profiler è destinato a .NET Framework versione 1.0 o 1.1, tale oggetto COM deve implementare solo i metodi di ICorProfilerCallback
. Se è destinato a .NET Framework versione 2.0 o successiva, l'oggetto COM deve anche implementare i metodi di ICorProfilerCallback2
.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorProf.idl, CorProf.h
Libreria: CorGuids.lib
Versioni di .NET Framework: Disponibile da 1.0