Interface ICorProfilerCallback
Fornece métodos usados pelo Common Language Runtime (CLR) para notificar um criador de perfis de código quando ocorrerem os eventos assinados pelo criador de perfis.
Métodos
Método | Descrição |
---|---|
Método AppDomainCreationFinished | Notifica o criador de perfil de que um domínio do aplicativo foi criado. |
Método AppDomainCreationStarted | Notifica o criador de perfil de que um domínio de aplicativo está sendo criado. |
Método AppDomainShutdownFinished | Notifica o criador de perfil de que um domínio do aplicativo foi descarregado a partir de um processo. |
Método AppDomainShutdownStarted | Notifica o criador de perfil de que um domínio do aplicativo está sendo descarregado a partir de um processo. |
Método AssemblyLoadFinished | Notifica o criador de perfil de que um assembly terminou de carregar. |
Método AssemblyLoadStarted | Notifica o criador de perfil de que um assembly está sendo carregado. |
Método AssemblyUnloadFinished | Notifica o criador de perfil de que um assembly foi descarregado. |
Método AssemblyUnloadStarted | Notifica o criador de perfil de que um assembly está sendo descarregado. |
Método ClassLoadFinished | Notifica o criador de perfil de que uma classe terminou de carregar. |
Método ClassLoadStarted | Notifica o criador de perfil de que uma classe está sendo carregada. |
Método ClassUnloadFinished | Notifica o criador de perfil de que uma classe terminou de descarregar. |
Método ClassUnloadStarted | Notifica o criador de perfil de que uma classe está sendo descarregada. |
Método COMClassicVTableCreated | Notifica o criador de perfil de que um Runtime Callable Wrapper (RCW) do IID e da classe especificados foi criado. |
Método COMClassicVTableDestroyed | Notifica o criador de perfil de que um RCW está sendo destruído. |
Método ExceptionCatcherEnter | Notifica o criador de perfil de que o controle está sendo passado para o bloco catch apropriado. |
Método ExceptionCatcherLeave | Notifica o criador de perfil de que o controle está saindo do bloco catch apropriado. |
Método ExceptionCLRCatcherExecute | Obsoleto no .NET Framework 2.0. |
Método ExceptionCLRCatcherFound | Obsoleto no .NET Framework 2.0. |
Método ExceptionOSHandlerEnter | Não implementado. Um criador de perfil que precisa de informações de exceção não gerenciadas deve obter essas informações por outros meios. |
Método ExceptionOSHandlerLeave | Não implementado. Um criador de perfil que precisa de informações de exceção não gerenciadas deve obter essas informações por outros meios. |
Método ExceptionSearchCatcherFound | Notifica o criador de perfil de que a fase de pesquisa do tratamento de exceções localizou um identificador da exceção que foi gerada. |
Método ExceptionSearchFilterEnter | Notifica o criador de perfil de que um filtro de usuário está sendo executado. |
Método ExceptionSearchFilterLeave | Notifica o criador de perfil de que um filtro de usuário acabou de ser executado. |
Método ExceptionSearchFunctionEnter | Notifica o criador de perfil de que a fase de pesquisa do tratamento de exceções inseriu uma função. |
Método ExceptionSearchFunctionLeave | Notifica o criador de perfil de que a fase de pesquisa do tratamento de exceções terminou de pesquisar uma função. |
Método ExceptionThrown | Notifica o criador de perfil de que uma exceção foi gerada. |
Método ExceptionUnwindFinallyEnter | Notifica o criador de perfil de que a fase de desenrolamento do tratamento de exceções está inserindo uma cláusula finally contida na função especificada. |
Método ExceptionUnwindFinallyLeave | Notifica o criador de perfil de que a fase de desenrolamento do tratamento de exceções deixou uma cláusula finally . |
Método ExceptionUnwindFunctionEnter | Notifica o criador de perfil de que a fase de desenrolamento do tratamento de exceções inseriu uma função. |
Método ExceptionUnwindFunctionLeave | Notifica o criador de perfil de que a fase de desenrolamento do tratamento de exceções terminou de desenrolar uma função. |
Método FunctionUnloadStarted | Notifica o criador de perfil de que o runtime começou a descarregar uma função. |
Método Initialize | Chamado para inicializar o criador de perfil sempre que um novo aplicativo CLR for iniciado. |
Método JITCachedFunctionSearchFinished | Notifica o criador de perfil de que uma pesquisa foi concluída para uma função que foi compilada anteriormente usando NGen.exe. |
Método JITCachedFunctionSearchStarted | Notifica o criador de perfil de que uma pesquisa foi iniciada para uma função que foi compilada anteriormente usando NGen.exe. |
Método JITCompilationFinished | Notifica o criador de perfil de que o compilador JIT terminou de compilar uma função. |
Método JITCompilationStarted | Notifica o criador de perfil de que o compilador JIT (just-in-time) começou a compilar uma função. |
Método JITFunctionPitched | Notifica o criador de perfil de que uma função que foi compilada como JIT foi removida da memória. |
Método JITInlining | Notifica o criador de perfil de que o compilador JIT está prestes a inserir uma função de acordo com outra função. |
Método ManagedToUnmanagedTransition | Notifica o criador de perfil de que ocorreu uma transição do código gerenciado para o código não gerenciado. |
Método ModuleAttachedToAssembly | Notifica o criador de perfil de que um módulo está sendo anexado ao assembly pai. |
Método ModuleLoadFinished | Notifica o criador de perfil de que um módulo concluiu o carregamento. |
Método ModuleLoadStarted | Notifica o criador de perfil de que um módulo está sendo carregado. |
Método ModuleUnloadFinished | Notifica o criador de perfil de que um módulo concluiu o carregamento. |
Método ModuleUnloadStarted | Notifica o criador de perfil de que um módulo está sendo descarregado. |
Método MovedReferences | Notifica o criador de perfil sobre as referências de objeto que foram movidas durante a coleta de lixo. |
Método ObjectAllocated | Notifica o criador de perfil de que a memória dentro do heap foi alocada para um objeto. |
Método ObjectReferences | Notifica o criador de perfil sobre objetos na memória referenciados pelo objeto especificado. |
Método ObjectsAllocatedByClass | Notifica o criador de perfil sobre o número de instâncias de cada classe especificada que foi criada desde a última coleta de lixo. |
Método RemotingClientInvocationFinished | Notifica o criador de perfil de que uma chamada de comunicação remota foi totalmente executada no cliente. |
Método RemotingClientInvocationStarted | Notifica o criador de perfil de que uma chamada de comunicação remota foi iniciada. |
Método RemotingClientReceivingReply | Notifica o criador de perfil de que a parte do lado do servidor de uma chamada de comunicação remota foi concluída e que o cliente agora está recebendo e prestes a processar a resposta. |
Método RemotingClientSendingMessage | Notifica o criador de perfil de que o cliente está enviando uma solicitação para o servidor. |
Método RemotingServerInvocationReturned | Notifica o criador de perfil de que o processo terminou de invocar um método em resposta a uma solicitação de invocação de método remoto. |
Método RemotingServerInvocationStarted | Notifica o criador de perfil de que o processo está invocando um método em resposta a uma solicitação de invocação de método remoto. |
Método RemotingServerReceivingMessage | Notifica o criador de perfil de que o processo está recebendo uma solicitação de invocação ou ativação de método remoto. |
Método RemotingServerSendingReply | Notifica o criador de perfil de que o processo terminou de processar uma solicitação de invocação de método remoto e está prestes a transmitir a resposta por meio de um canal. |
Método RootReferences | Notifica o criador de perfil com informações sobre referências raiz após a coleta de lixo. |
Método RuntimeResumeFinished | Notifica o criador de perfil de que o runtime retomou todos os threads de runtime e voltou à operação normal. |
Método RuntimeResumeStarted | Notifica o criador de perfil de que o runtime está retomando todos os threads em tempo de execução. |
Método RuntimeSuspendAborted | Notifica o criador de perfil de que o runtime anulou a suspensão em tempo de execução que estava ocorrendo. |
Método RuntimeSuspendFinished | Notifica o criador de perfil de que o runtime concluiu a suspensão de todos os threads em tempo de execução. |
Método RuntimeSuspendStarted | Notifica o criador de perfil de que o runtime está prestes a suspender todos os threads em tempo de execução. |
Método RuntimeThreadResumed | Notifica o criador de perfil de que o thread especificado foi retomado após ser suspenso. |
Método RuntimeThreadSuspended | Notifica o criador de perfil de que o thread especificado foi ou está prestes a ser suspenso. |
Método Shutdown | Notifica o criador de perfil de que o aplicativo está sendo desligado. |
Método ThreadAssignedToOSThread | Notifica o criador de perfil de que um thread gerenciado está sendo implementado usando um thread específico do sistema operacional (SO). |
Método ThreadCreated | Notifica o criador de perfil de que um thread foi criado. |
Método ThreadDestroyed | Notifica o criador de perfil de que um thread foi destruído. |
Método UnmanagedToManagedTransition | Notifica o criador de perfil de que ocorreu uma transição do código não gerenciado para o código gerenciado. |
Comentários
O CLR chama um método na interface do ICorProfilerCallback
(ou ICorProfilerCallback2) para notificar o criador de perfil de quando ocorre um evento ao qual o criador de perfil assina. Essa é a interface de retorno de chamada principal por meio da qual o CLR se comunica com o criador de perfil de código.
Um criador de perfil de código deve implementar os métodos da interface do ICorProfilerCallback
. No .NET Framework 2.0 ou posterior, o criador de perfil também deve implementar os métodos do ICorProfilerCallback2
. Cada implementação de método deve retornar um HRESULT que tenha um valor de S_OK quando bem-sucedido ou E_FAIL em caso de falha. Atualmente, o CLR ignora o HRESULT retornado por cada retorno de chamada, exceto ICorProfilerCallback::ObjectReferences.
No registro do Microsoft Windows, um criador de perfil de código deve registrar seu objeto Component Object Model (COM) que implementa as interfaces do ICorProfilerCallback
e ICorProfilerCallback2
. Um criador de perfil de código assina os eventos para os quais deseja receber notificação chamando ICorProfilerInfo::SetEventMask. Isso geralmente é feito na implementação do criador de perfil de ICorProfilerCallback::Initialize. Depois disso, o criador de perfil poderá receber uma notificação do runtime quando um evento estiver prestes a ocorrer ou quando tiver ocorrido apenas em um processo de runtime em execução.
Observação
O criador de perfil registra um único objeto COM. Se o foco do criador de perfil for o .NET Framework 1.0 ou 1.1, esse objeto COM precisará implementar apenas os métodos de ICorProfilerCallback
. Se o foco do criador de perfil for o .NET Framework 2.0 ou posterior, o objeto COM também precisará implementar os métodos de ICorProfilerCallback2
.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versões do .NET Framework: Disponíveis desde a versão 1.0