Condividi tramite


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.

Methods

Metodo Description
AppDomainCreationFinished, metodo Notifica al profiler che è stato creato un dominio applicazione.
AppDomainCreationStarted, metodo Notifica al profiler che viene creato un dominio applicazione.
AppDomainShutdownFinished, metodo Notifica al profiler che un dominio applicazione è stato scaricato da un processo.
AppDomainShutdownStarted, metodo Notifica al profiler che un dominio applicazione viene scaricato da un processo.
AssemblyLoadFinished, metodo Notifica al profiler che un assembly ha terminato il caricamento.
AssemblyLoadStarted, metodo Notifica al profiler che viene caricato un assembly.
AssemblyUnloadFinished, metodo Notifica al profiler che un assembly è stato scaricato.
AssemblyUnloadStarted, metodo Notifica al profiler che un assembly viene scaricato.
ClassLoadFinished, metodo Notifica al profiler che una classe ha terminato il caricamento.
ClassLoadStarted, metodo Notifica al profiler che viene caricata una classe.
ClassUnloadFinished, metodo Notifica al profiler che una classe ha terminato lo scaricamento.
ClassUnloadStarted, metodo Notifica al profiler che una classe viene scaricata.
COMClassicVTableCreated, metodo Notifica al profiler che è stato creato un wrapper chiamabile in fase di esecuzione (RCW) per l'IID e la classe specificati.
COMClassicVTableDestroyed, metodo Notifica al profiler che un RCW viene eliminato definitivamente.
ExceptionCatcherEnter, metodo Notifica al profiler che il controllo viene passato al blocco appropriato catch .
ExceptionCatcherLeave, metodo Notifica al profiler che il controllo viene passato fuori dal blocco appropriato catch .
ExceptionCLRCatcherExecute, metodo Obsoleto in .NET Framework versione 2.0.
ExceptionCLRCatcherFound, metodo Obsoleto in .NET Framework 2.0.
ExceptionOSHandlerEnter, metodo Non implementato. Un profiler che necessita di informazioni sulle eccezioni non gestite deve ottenere queste informazioni tramite altri mezzi.
ExceptionOSHandlerLeave, metodo Non implementato. Un profiler che necessita di informazioni sulle eccezioni non gestite deve ottenere queste informazioni tramite altri mezzi.
ExceptionSearchCatcherFound, metodo Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha individuato un gestore per l'eccezione generata.
ExceptionSearchFilterEnter, metodo Notifica al profiler che viene eseguito un filtro utente.
ExceptionSearchFilterLeave, metodo Notifica al profiler che un filtro utente ha appena terminato l'esecuzione.
ExceptionSearchFunctionEnter, metodo Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha immesso una funzione.
ExceptionSearchFunctionLeave, metodo Notifica al profiler che la fase di ricerca della gestione delle eccezioni ha terminato la ricerca in una funzione.
ExceptionThrown, metodo Notifica al profiler che è stata generata un'eccezione.
ExceptionUnwindFinallyEnter, metodo Notifica al profiler che la fase di rimozione della gestione delle eccezioni immette una finally clausola contenuta nella funzione specificata.
ExceptionUnwindFinallyLeave, metodo Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha lasciato una finally clausola .
ExceptionUnwindFunctionEnter, metodo Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha immesso una funzione.
ExceptionUnwindFunctionLeave, metodo Notifica al profiler che la fase di rimozione della gestione delle eccezioni ha terminato la rimozione di una funzione.
FunctionUnloadStarted, metodo Notifica al profiler che il runtime ha iniziato a scaricare una funzione.
Initialize, metodo 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.
ManagedToUnmanagedTransition, metodo Notifica al profiler che si è verificata una transizione da codice gestito a codice non gestito.
ModuleAttachedToAssembly, metodo Notifica al profiler che un modulo viene collegato all'assembly padre.
ModuleLoadFinished, metodo Notifica al profiler che un modulo ha terminato il caricamento.
ModuleLoadStarted, metodo Notifica al profiler che viene caricato un modulo.
ModuleUnloadFinished, metodo Notifica al profiler che un modulo ha terminato lo scaricamento.
ModuleUnloadStarted, metodo Notifica al profiler che un modulo viene scaricato.
MovedReferences, metodo Notifica al profiler informazioni sui riferimenti a oggetti spostati durante l'operazione di Garbage Collection.
ObjectAllocated, metodo Notifica al profiler che la memoria all'interno dell'heap è stata allocata per un oggetto .
ObjectReferences, metodo Notifica al profiler gli oggetti in memoria a cui fa riferimento l'oggetto specificato.
ObjectsAllocatedByClass, metodo Notifica al profiler il numero di istanze di ogni classe specificata che sono state create dopo l'operazione di Garbage Collection precedente.
RemotingClientInvocationFinished, metodo Notifica al profiler che una chiamata remota è stata eseguita fino al completamento nel client.
RemotingClientInvocationStarted, metodo Notifica al profiler che è stata avviata una chiamata remota.
RemotingClientReceivedReply, metodo Notifica al profiler che la parte lato server di una chiamata remota è stata completata e il client sta ricevendo e sta per elaborare la risposta.
RemotingClientSendingMessage, metodo Notifica al profiler che il client invia una richiesta al server.
RemotingServerInvocationReturned, metodo Notifica al profiler che il processo ha terminato di richiamare un metodo in risposta a una richiesta di chiamata al metodo remoto.
RemotingServerInvocationStarted, metodo Notifica al profiler che il processo richiama un metodo in risposta a una richiesta di chiamata al metodo remoto.
RemotingServerReceivedMessage, metodo Notifica al profiler che il processo riceve una richiesta di attivazione o chiamata al metodo remoto.
RemotingServerSendingReply, metodo 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.
RootReferences, metodo Notifica al profiler informazioni sui riferimenti radice dopo l'operazione di Garbage Collection.
RuntimeResumeFinished, metodo Notifica al profiler che il runtime ha ripreso tutti i thread di runtime e ha restituito il normale funzionamento.
RuntimeResumeStarted, metodo Notifica al profiler che il runtime riprende tutti i thread di runtime.
RuntimeSuspendAborted, metodo Notifica al profiler che il runtime ha interrotto la sospensione di runtime che si è verificata.
RuntimeSuspendFinished, metodo Notifica al profiler che il runtime ha completato la sospensione di tutti i thread di runtime.
RuntimeSuspendStarted, metodo Notifica al profiler che il runtime sta per sospendere tutti i thread di runtime.
RuntimeThreadResumed, metodo Notifica al profiler che il thread specificato è stato ripreso dopo la sospensione.
RuntimeThreadSuspended, metodo Notifica al profiler che il thread specificato è stato o sta per essere sospeso.
Shutdown, metodo Notifica al profiler che l'applicazione sta arrestando.
ThreadAssignedToOSThread, metodo Notifica al profiler che un thread gestito viene implementato usando un thread del sistema operativo specifico.
ThreadCreated, metodo Notifica al profiler che è stato creato un thread.
ThreadDestroyed, metodo Notifica al profiler che un thread è stato eliminato definitivamente.
Metodo UnmanagedToManagedTransition Notifica al profiler che si è verificata una transizione da codice non gestito a codice gestito.

Osservazioni:

CLR chiama un metodo nell'interfaccia ICorProfilerCallback (o ICorProfilerCallback2) per notificare al profiler quando si verifica un evento a cui è stato sottoscritto il profiler. Si tratta dell'interfaccia di callback principale tramite cui 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 con valore S_OK in caso di esito positivo o E_FAIL in caso di errore. Attualmente, CLR ignora il valore HRESULT restituito da ogni callback ad eccezione di ICorProfilerCallback::ObjectReferences.

Nel Registro di sistema di Microsoft Windows un profiler di codice deve registrare il relativo oggetto COM (Component Object Model) che implementa le ICorProfilerCallback interfacce e ICorProfilerCallback2 . Un profiler di codice sottoscrive gli eventi per cui vuole ricevere la notifica chiamando ICorProfilerInfo::SetEventMask. Questa operazione viene in genere eseguita nell'implementazione del profiler di ICorProfilerCallback::Initialize. Il profiler è quindi in grado di ricevere notifiche dal runtime quando un evento sta per verificarsi o si è appena verificato in un processo di runtime in esecuzione.

Annotazioni

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 implementare anche i metodi di ICorProfilerCallback2.

Requisiti

Piattaforme: Vedere Requisiti di sistema.

Intestazione: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versioni di .NET Framework: disponibili dalla versione 1.0

Vedere anche