ICorProfilerCallback Interface
Fornece métodos que são utilizados pelo runtime de linguagem comum (CLR) para notificar um gerador de perfis de código quando ocorrem os eventos aos quais o gerador de perfis subscreveu.
Métodos
Método | Descrição |
---|---|
Método AppDomainCreationFinished | Notifica o gerador de perfis de que foi criado um domínio de aplicação. |
Método AppDomainCreationStarted | Notifica o gerador de perfis de que está a ser criado um domínio de aplicação. |
Método AppDomainShutdownFinished | Notifica o gerador de perfis de que um domínio de aplicação foi descarregado de um processo. |
Método AppDomainShutdownStarted | Notifica o gerador de perfis de que um domínio de aplicação está a ser descarregado de um processo. |
Método AssemblyLoadFinished | Notifica o gerador de perfis de que uma assemblagem terminou de carregar. |
Método AssemblyLoadStarted | Notifica o gerador de perfis de que está a ser carregada uma assemblagem. |
Método AssemblyUnloadFinished | Notifica o gerador de perfis de que uma assemblagem foi descarregada. |
Método AssemblyUnloadStarted | Notifica o gerador de perfis de que uma assemblagem está a ser descarregada. |
Método ClassLoadFinished | Notifica o gerador de perfis de que uma classe terminou de carregar. |
Método ClassLoadStarted | Notifica o gerador de perfis de que uma classe está a ser carregada. |
Método ClassUnloadFinished | Notifica o gerador de perfis de que uma classe terminou de descarregar. |
Método ClassUnloadStarted | Notifica o gerador de perfis de que uma classe está a ser descarregada. |
Método COMClassicVTableCreated | Notifica o gerador de perfis de que foi criado um wrapper callable de runtime (RCW) para o IID e classe especificados. |
Método COMClassicVTableDestroyed | Notifica o gerador de perfis de que uma RCW está a ser destruída. |
Método ExceptionCatcherEnter | Notifica o gerador de perfis de que o controlo está a ser transmitido para o bloco adequado catch . |
Método ExceptionCatcherLeave | Notifica o gerador de perfis de que o controlo está a ser desmaiado do bloco adequado catch . |
Método ExceptionCLRCatcherExecute | Obsoleto na .NET Framework versão 2.0. |
Método ExceptionCLRCatcherFound | Obsoleto no .NET Framework 2.0. |
Método ExceptionOSHandlerEnter | Não implementado. Um gerador de perfis que necessite de informações de exceção não geridas tem de obter estas informações através de outros meios. |
Método ExceptionOSHandlerLeave | Não implementado. Um gerador de perfis que necessite de informações de exceção não geridas tem de obter estas informações através de outros meios. |
Método ExceptionSearchCatcherFound | Notifica o gerador de perfis de que a fase de pesquisa do processamento de exceções localizou um processador para a exceção que foi emitida. |
Método ExceptionSearchFilterEnter | Notifica o gerador de perfis de que está a ser executado um filtro de utilizador. |
Método ExceptionSearchFilterLeave | Notifica o gerador de perfis de que um filtro de utilizador acabou de concluir a execução. |
Método ExceptionSearchFunctionEnter | Notifica o gerador de perfis de que a fase de pesquisa do processamento de exceções entrou numa função. |
Método ExceptionSearchFunctionLeave | Notifica o gerador de perfis de que a fase de pesquisa do processamento de exceções terminou a pesquisa numa função. |
Método ExceptionThrown | Notifica o gerador de perfis de que foi emitida uma exceção. |
Método ExceptionUnwindFinallyEnter | Notifica o gerador de perfis de que a fase de desativação do processamento de exceções está a introduzir uma finally cláusula contida na função especificada. |
Método ExceptionUnwindFinallyLeave | Notifica o gerador de perfis de que a fase de desativação do processamento de exceções deixou uma finally cláusula. |
Método ExceptionUnwindFunctionEnter | Notifica o gerador de perfis de que a fase de desativação do processamento de exceções entrou numa função. |
Método ExceptionUnwindFunctionLeave | Notifica o gerador de perfis de que a fase de descontração do processamento de exceções terminou de descontrair uma função. |
Método FunctionUnloadStarted | Notifica o gerador de perfis de que o runtime começou a descarregar uma função. |
Método Initialize | Chamada para inicializar o gerador de perfis sempre que uma nova aplicação CLR for iniciada. |
Método JITCachedFunctionSearchFinished | Notifica o gerador de perfis de que uma pesquisa foi concluída para uma função que foi compilada anteriormente com NGen.exe. |
Método JITCachedFunctionSearchStarted | Notifica o gerador de perfis de que foi iniciada uma pesquisa para uma função que foi compilada anteriormente com NGen.exe. |
Método JITCompilationFinished | Notifica o gerador de perfis de que o compilador JIT concluiu a compilação de uma função. |
Método JITCompilationStarted | Notifica o gerador de perfis de que o compilador just-in-time (JIT) começou a compilar uma função. |
Método JITFunctionPitched | Notifica o gerador de perfis de que uma função compilada por JIT foi removida da memória. |
Método JITInlining | Notifica o gerador de perfis de que o compilador JIT está prestes a inserir uma função em linha com outra função. |
Método ManagedToUnmanagedTransition | Notifica o gerador de perfis de que ocorreu uma transição do código gerido para o código não gerido. |
ModuleAttachedToAssembly Method | Notifica o gerador de perfis de que um módulo está a ser anexado à respetiva assemblagem principal. |
ModuleLoadFinished Method | Notifica o gerador de perfis de que um módulo terminou de carregar. |
Método ModuleLoadStarted | Notifica o gerador de perfis de que um módulo está a ser carregado. |
ModuleUnloadFinished Method | Notifica o gerador de perfis de que um módulo terminou de descarregar. |
Método ModuleUnloadStarted | Notifica o gerador de perfis de que um módulo está a ser descarregado. |
Método MovedReferences | Notifica o gerador de perfis sobre as referências de objetos que foram movidas durante a recolha de lixo. |
Método ObjectAllocated | Notifica o gerador de perfis de que a memória dentro da área dinâmica para dados foi alocada para um objeto. |
ObjectReferences Method | Notifica o gerador de perfis sobre objetos na memória referenciados pelo objeto especificado. |
ObjectsAllocatedByClass Method | Notifica o gerador de perfis sobre o número de instâncias de cada classe especificada que foram criadas desde a libertação da memória anterior. |
Método RemotingClientInvocationFinished | Notifica o gerador de perfis de que uma chamada remota foi executada até à conclusão no cliente. |
Método RemotingClientInvocationStarted | Notifica o gerador de perfis de que foi iniciada uma chamada remota. |
Método RemotingClientReceivingReply | Notifica o gerador de perfis de que a parte do lado do servidor de uma chamada remota foi concluída e que o cliente está agora a receber e prestes a processar a resposta. |
Método RemotingClientSendingMessage | Notifica o gerador de perfis de que o cliente está a enviar um pedido para o servidor. |
Método RemotingServerInvocationReturned | Notifica o gerador de perfis de que o processo terminou de invocar um método em resposta a um pedido de invocação de método remoto. |
Método RemotingServerInvocationStarted | Notifica o gerador de perfis de que o processo está a invocar um método em resposta a um pedido de invocação de método remoto. |
Método RemotingServerReceivingMessage | Notifica o gerador de perfis de que o processo está a receber um pedido de invocação ou ativação de método remoto. |
Método RemotingServerSendingReply | Notifica o gerador de perfis de que o processo terminou o processamento de um pedido de invocação de método remoto e está prestes a transmitir a resposta através de um canal. |
Método RootReferences | Notifica o gerador de perfis com informações sobre referências de raiz após a libertação da memória. |
Método RuntimeResumeFinished | Notifica o gerador de perfis de que o runtime retomou todos os threads de runtime e regressou ao funcionamento normal. |
Método RuntimeResumeStarted | Notifica o gerador de perfis de que o runtime está a retomar todos os threads de tempo de execução. |
Método RuntimeSuspendAborted | Notifica o gerador de perfis de que o runtime abortou a suspensão de tempo de execução que estava a ocorrer. |
Método RuntimeSuspendFinished | Notifica o gerador de perfis de que o runtime concluiu a suspensão de todos os threads de tempo de execução. |
Método RuntimeSuspendStarted | Notifica o gerador de perfis de que o runtime está prestes a suspender todos os threads de tempo de execução. |
Método RuntimeThreadResumed | Notifica o gerador de perfis de que o thread especificado foi retomado após ser suspenso. |
RuntimeThreadSuspended Method | Notifica o gerador de perfis de que o thread especificado foi, ou está prestes a ser, suspenso. |
Método de Encerramento | Notifica o gerador de perfis de que a aplicação está a encerrar. |
Método ThreadAssignedToOSThread | Notifica o gerador de perfis de que está a ser implementado um thread gerido através de um thread de sistema operativo (SO) específico. |
ThreadCreated Method | Notifica o gerador de perfis de que foi criado um thread. |
Método ThreadDestroyed | Notifica o gerador de perfis de que um thread foi destruído. |
Método UnmanagedToManagedTransition | Notifica o gerador de perfis de que ocorreu uma transição do código não gerido para o código gerido. |
Observações
O CLR chama um método na ICorProfilerCallback
interface (ou ICorProfilerCallback2) para notificar o gerador de perfis quando ocorre um evento, ao qual o gerador de perfis subscreveu. Esta é a interface de chamada de retorno principal através da qual o CLR comunica com o gerador de perfis de código.
Um gerador de perfis de código tem de implementar os métodos da ICorProfilerCallback
interface. Para o .NET Framework versão 2.0 ou posterior, o gerador de perfis também tem de implementar os ICorProfilerCallback2
métodos. Cada implementação de método tem de devolver um HRESULT que tenha um valor de S_OK em caso de êxito ou E_FAIL em caso de falha. Atualmente, o CLR ignora o HRESULT que é devolvido por cada chamada de retorno, exceto ICorProfilerCallback::ObjectReferences.
No registo do Microsoft Windows, um gerador de perfis de código tem de registar o objeto Component Object Model (COM) que implementa as ICorProfilerCallback
interfaces e ICorProfilerCallback2
. Um gerador de perfis de código subscreve os eventos para os quais pretende receber uma notificação ao chamar ICorProfilerInfo::SetEventMask. Normalmente, isto é feito na implementação de ICorProfilerCallback::Initialize do gerador de perfis. Em seguida, o gerador de perfis pode receber uma notificação do runtime quando um evento está prestes a ocorrer ou apenas ocorreu num processo de runtime em execução.
Nota
O gerador de perfis regista um único objeto COM. Se o gerador de perfis tiver como destino o .NET Framework versão 1.0 ou 1.1, esse objeto COM tem de implementar apenas os métodos de ICorProfilerCallback
. Se tiver como destino .NET Framework versão 2.0 ou posterior, o objeto COM também tem de implementar os métodos de ICorProfilerCallback2
.
Requisitos
Plataformas: Veja Requisitos de Sistema.
Cabeçalho: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
.NET Framework Versões: Disponível desde 1.0