Partilhar via


Enumeração de COR_PRF_MONITOR

Contém valores que são utilizados para especificar comportamentos, capacidades ou eventos aos quais o gerador de perfis pretende subscrever.

Syntax

typedef enum {  
    COR_PRF_MONITOR_NONE                = 0x00000000,  
    COR_PRF_MONITOR_FUNCTION_UNLOADS    = 0x00000001,  
    COR_PRF_MONITOR_CLASS_LOADS         = 0x00000002,  
    COR_PRF_MONITOR_MODULE_LOADS        = 0x00000004,  
    COR_PRF_MONITOR_ASSEMBLY_LOADS      = 0x00000008,  
    COR_PRF_MONITOR_APPDOMAIN_LOADS     = 0x00000010,  
    COR_PRF_MONITOR_JIT_COMPILATION     = 0x00000020,  
    COR_PRF_MONITOR_EXCEPTIONS          = 0x00000040,  
    COR_PRF_MONITOR_GC                  = 0x00000080,  
    COR_PRF_MONITOR_OBJECT_ALLOCATED    = 0x00000100,  
    COR_PRF_MONITOR_THREADS             = 0x00000200,  
    COR_PRF_MONITOR_REMOTING            = 0x00000400,  
    COR_PRF_MONITOR_CODE_TRANSITIONS    = 0x00000800,  
    COR_PRF_MONITOR_ENTERLEAVE          = 0x00001000,  
    COR_PRF_MONITOR_CCW                 = 0x00002000,  
    COR_PRF_MONITOR_REMOTING_COOKIE     = 0x00004000 |
                                          COR_PRF_MONITOR_REMOTING,  
    COR_PRF_MONITOR_REMOTING_ASYNC      = 0x00008000 |
                                          COR_PRF_MONITOR_REMOTING,  
    COR_PRF_MONITOR_SUSPENDS            = 0x00010000,  
    COR_PRF_MONITOR_CACHE_SEARCHES      = 0x00020000,  
    COR_PRF_ENABLE_REJIT                = 0x00040000,  
    COR_PRF_ENABLE_INPROC_DEBUGGING     = 0x00080000,  
    COR_PRF_ENABLE_JIT_MAPS             = 0x00100000,  
    COR_PRF_DISABLE_INLINING            = 0x00200000,  
    COR_PRF_DISABLE_OPTIMIZATIONS       = 0x00400000,  
    COR_PRF_ENABLE_OBJECT_ALLOCATED     = 0x00800000,  
    COR_PRF_MONITOR_CLR_EXCEPTIONS      = 0x01000000,  
    COR_PRF_MONITOR_ALL                 = 0x0107FFFF,  
    COR_PRF_ENABLE_FUNCTION_ARGS        = 0X02000000,  
    COR_PRF_ENABLE_FUNCTION_RETVAL      = 0X04000000,  
    COR_PRF_ENABLE_FRAME_INFO           = 0X08000000,  
    COR_PRF_ENABLE_STACK_SNAPSHOT       = 0X10000000,  
    COR_PRF_USE_PROFILE_IMAGES          = 0x20000000,  
    COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST  
                                        = 0x40000000,  
    COR_PRF_DISABLE_ALL_NGEN_IMAGES     = 0x80000000,  
    COR_PRF_ALL                         = 0x8FFFFFFF,  
    COR_PRF_REQUIRE_PROFILE_IMAGE       = COR_PRF_USE_PROFILE_IMAGES |
                                          COR_PRF_MONITOR_CODE_TRANSITIONS |
                                          COR_PRF_MONITOR_ENTERLEAVE,  
    COR_PRF_ALLOWABLE_AFTER_ATTACH      = COR_PRF_MONITOR_THREADS |  
                                          COR_PRF_MONITOR_MODULE_LOADS |  
                                          COR_PRF_MONITOR_ASSEMBLY_LOADS |  
                                          COR_PRF_MONITOR_APPDOMAIN_LOADS |  
                                          COR_PRF_ENABLE_STACK_SNAPSHOT |  
                                          COR_PRF_MONITOR_GC |  
                                          COR_PRF_MONITOR_SUSPENDS |  
                                          COR_PRF_MONITOR_CLASS_LOADS |  
                                          COR_PRF_MONITOR_JIT_COMPILATION,  
    COR_PRF_MONITOR_IMMUTABLE           = COR_PRF_MONITOR_CODE_TRANSITIONS |  
                                          COR_PRF_MONITOR_REMOTING |  
                                          COR_PRF_MONITOR_REMOTING_COOKIE |  
                                          COR_PRF_MONITOR_REMOTING_ASYNC |  
                                          COR_PRF_ENABLE_REJIT |  
                                          COR_PRF_ENABLE_INPROC_DEBUGGING |  
                                          COR_PRF_ENABLE_JIT_MAPS |  
                                          COR_PRF_DISABLE_OPTIMIZATIONS |  
                                          COR_PRF_DISABLE_INLINING |  
                                          COR_PRF_ENABLE_OBJECT_ALLOCATED |  
                                          COR_PRF_ENABLE_FUNCTION_ARGS |  
                                          COR_PRF_ENABLE_FUNCTION_RETVAL |  
                                          COR_PRF_ENABLE_FRAME_INFO |  
                                          COR_PRF_USE_PROFILE_IMAGES |  
                     COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST |  
                                          COR_PRF_DISABLE_ALL_NGEN_IMAGES  
} COR_PRF_MONITOR;  

Membros

As secções seguintes listam COR_PRF_MONITOR os membros da enumeração por categoria. As categorias são:

Sem sinalizadores definidos

Membro Description
COR_PRF_MONITOR_NONE Não existem sinalizadores definidos.

Sinalizadores de chamada de retorno

Membro Description
COR_PRF_MONITOR_ALL Ativa todos os eventos de chamada de retorno.
COR_PRF_MONITOR_APPDOMAIN_LOADS Controla as AppDomainCreation* chamadas de retorno e AppDomainShutdown* na interface ICorProfilerCallback .
COR_PRF_MONITOR_ASSEMBLY_LOADS Controla as AssemblyLoad* chamadas de retorno e AssemblyUnload* na interface ICorProfilerCallback .
COR_PRF_MONITOR_CACHE_SEARCHES Controla as JITCachedFunctionSearch* chamadas de retorno na interface ICorProfilerCallback .

O comportamento deste sinalizador é alterado no .NET Framework versão 2.0.
COR_PRF_MONITOR_CCW Controla as COMClassicVTable* chamadas de retorno na interface ICorProfilerCallback .
COR_PRF_MONITOR_CLASS_LOADS Controla as ClassLoad* chamadas de retorno e ClassUnload* na interface ICorProfilerCallback .
COR_PRF_MONITOR_CLR_EXCEPTIONS Controla as ExceptionCLRCatcher* chamadas de retorno na interface ICorProfilerCallback .
COR_PRF_MONITOR_CODE_TRANSITIONS Controla as chamadas de retorno UnmanagedToManagedTransition e ManagedToUnmanagedTransition na interface ICorProfilerCallback
COR_PRF_MONITOR_ENTERLEAVE Controla as FunctionEnter*funções estáticas globais , FunctionLeave*e FunctionTailCall* a criação de perfis.
COR_PRF_MONITOR_EXCEPTIONS Controla a chamada de retorno ExceptionThrown e as ExceptionSearch*chamadas de retorno , ExceptionOSHandler*, ExceptionUnwind*e ExceptionCatcher* na interface ICorProfilerCallback .
COR_PRF_MONITOR_FUNCTION_UNLOADS Controla a chamada de retorno FunctionUnloadStarted na interface ICorProfilerCallback .
COR_PRF_MONITOR_GC Controla as chamadas GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, MovedReferences2, SurvivingReferences, SurvivingReferences2, ObjectReferences, ObjectsAllocatedByClass, RootReferences, RootReferences2, HandleCreated, HandleDestroyed e FinalizeableObjectQueued nas ICorProfilerCallback* interfaces. Quando COR_PRF_MONITOR_GC é alocado, a recolha de lixo simultânea é desativada.
COR_PRF_MONITOR_JIT_COMPILATION Controla as JITCompilation*chamadas de retorno , JITFunctionPitched e JITInlining na interface ICorProfilerCallback .
COR_PRF_MONITOR_MODULE_LOADS Controla as ModuleLoad*chamadas de retorno , ModuleUnload*e ModuleAttachedToAssembly na interface ICorProfilerCallback .
COR_PRF_MONITOR_OBJECT_ALLOCATED Controla a chamada de retorno ObjectAllocated na interface ICorProfilerCallback .
COR_PRF_MONITOR_REMOTING Controla as Remoting* chamadas de retorno na interface ICorProfilerCallback .
COR_PRF_MONITOR_REMOTING_ASYNC Controla se as Remoting* chamadas de retorno monitorizarão eventos assíncronos.
COR_PRF_MONITOR_REMOTING_COOKIE Controla se um cookie é transmitido para as Remoting* chamadas de retorno.
COR_PRF_MONITOR_SUSPENDS Controla as RuntimeSuspend*chamadas de retorno , , RuntimeThreadSuspended e RuntimeThreadResumed na interface ICorProfilerCallback. RuntimeResume*
COR_PRF_MONITOR_THREADS Controla as chamadas de retorno ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThread e ThreadNameChanged nas interfaces ICorProfilerCallback e ICorProfilerCallback2 .

Sinalizadores de ativação de funcionalidades

Membro Description
COR_PRF_ENABLE_FRAME_INFO Ativa a obtenção de uma função genérica exata ClassID ao chamar o método GetFunctionInfo2 com um COR_PRF_FRAME_INFO valor devolvido pela chamada de retorno FunctionEnter2 .
COR_PRF_ENABLE_FUNCTION_ARGS Ativa o rastreio de argumentos com a chamada de retorno FunctionEnter2 ou a chamada de retorno FunctionEnter3WithInfo e o método GetFunctionEnter3Info .
COR_PRF_ENABLE_FUNCTION_RETVAL Ativa o rastreio dos valores devolvidos através da chamada de retorno FunctionLeave2 ou do método FunctionLeave3WithInfo e GetFunctionLeave3Info .
COR_PRF_ENABLE_INPROC_DEBUGGING Preterido.

A depuração de processos não é suportada. Este sinalizador não tem efeito.
COR_PRF_ENABLE_JIT_MAPS Preterido.

Permite que o gerador de perfis obtenha mapas il-to-native com GetILToNativeMapping. A partir da .NET Framework 2.0, o runtime controla sempre os mapas il-to-native; portanto, este sinalizador é sempre considerado como estando definido.
COR_PRF_ENABLE_OBJECT_ALLOCATED Informa o runtime de que o gerador de perfis pode querer notificações de alocação de objetos. Este sinalizador tem de ser definido durante a inicialização. Permite que o gerador de perfis utilize posteriormente o COR_PRF_MONITOR_OBJECT_ALLOCATED sinalizador para receber chamadas de retorno ObjectAllocated .
COR_PRF_ENABLE_REJIT Ativa as chamadas para os métodos RequestReJIT e RequestRevert . O gerador de perfis tem de definir este sinalizador no arranque. Se o gerador de perfis especificar este sinalizador, também tem de especificar COR_PRF_DISABLE_ALL_NGEN_IMAGES.
COR_PRF_ENABLE_STACK_SNAPSHOT Ativa chamadas para o método DoStackSnapshot .

Sinalizadores de configuração

Membro Description
COR_PRF_DISABLE_ALL_NGEN_IMAGES Impede o carregamento de todas as imagens nativas (incluindo imagens melhoradas pelo profiler). Se este sinalizador e o COR_PRF_USE_PROFILE_IMAGES sinalizador forem ambos especificados, COR_PRF_DISABLE_ALL_NGEN_IMAGES será utilizado.
COR_PRF_DISABLE_INLINING Desativa todo o inlining.
COR_PRF_DISABLE_OPTIMIZATIONS Desativa todas as otimizações de código.
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST Desativa as verificações de transparência de segurança que são normalmente efetuadas durante a compilação just-in-time (JIT) e o carregamento de classes para assemblagens de confiança total. Isto pode facilitar a execução de alguma instrumentação.
COR_PRF_USE_PROFILE_IMAGES Faz com que a pesquisa de imagens nativa procure imagens melhoradas pelo profiler. Se não for encontrada nenhuma imagem melhorada do profiler para uma determinada assemblagem, o runtime de linguagem comum reverterá para o JIT para essa assemblagem. Se este sinalizador e o COR_PRF_DISABLE_ALL_NGEN_IMAGES sinalizador forem ambos especificados, COR_PRF_DISABLE_ALL_NGEN_IMAGES será utilizado.

Sinalizadores compostos

Membro Description
COR_PRF_ALL Representa todos os COR_PRF_MONITOR valores de sinalizador.
COR_PRF_ALLOWABLE_AFTER_ATTACH Representa todos os COR_PRF_MONITOR sinalizadores que podem ser definidos depois de o gerador de perfis ser anexado a uma aplicação em execução. A secção sintaxe indica os sinalizadores individuais presentes nesta máscara de bits.
COR_PRF_MONITOR_ALL Ativa todos os eventos de chamada de retorno.
COR_PRF_MONITOR_IMMUTABLE Representa todos os COR_PRF_MONITOR sinalizadores que só podem ser definidos durante a inicialização. Tentar alterar qualquer um destes sinalizadores após a inicialização devolve um HRESULT valor que indica falha.
COR_PRF_REQUIRE_PROFILE_IMAGE Representa todos os COR_PRF_MONITOR sinalizadores que requerem imagens melhoradas de perfil.

Observações

É utilizado um COR_PRF_MONITOR valor com os métodos ICorProfilerInfo::GetEventMask e ICorProfilerInfo::SetEventMask para definir as notificações de evento que o runtime de idioma comum faz ao gerador de perfis.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

.NET Framework Versões: Disponível desde 1.0

Ver também