Partilhar via


Coleta de lixo na API de criação de perfil

Geradores de perfis podem receber lixo coleção notificações.

Quando o usuário Especifica o sinalizar COR_PRF_MONITOR_GC, todos os lixo coleção eventos, exceto para ICorProfilerCallback::ObjectAllocated eventos serão gerados no criador de perfil. ObjectAllocated eventos explicitamente são controlados pelo sinalizar COR_PRF_MONITOR_OBJECT_ALLOCATED por motivos de desempenho. Observe que, quando o sinalizar COR_PRF_MONITOR_GC é ativado, simultâneo lixo coleção está desativada.

No .NET estrutura versão 1.0 e 1.1, o criador de perfil de código determina que lixo coleção está ocorrendo monitorando o ICorProfilerCallback::RuntimeSuspendFinished and ICorProfilerCallback::RuntimeResumeStarted callbacks quando o motivo de suspensão é COR_PRF_SUSPEND_FOR_GC. Durante o desligado, o Common linguagem tempo de execução (CLR) também fica suspensa e uma ou mais coleções de lixo podem demorar lugar sem o criador de perfil de código sejam notificado porque o tempo de execução já está em um estado suspenso. Detectando a conclusão de lixo coleção nessas circunstâncias não é trivial. O criador de perfil de código tem de detectar o primeiro ObjectAllocated Coloque o retorno de chamada que levou após um ICorProfilerCallback::ObjectReferences or ICorProfilerCallback::RootReferencesretorno de chamada .

No .NET estrutura versão 2.0 e posteriores, o criador de perfil de código pode usar o ICorProfilerCallback2::GarbagecoleçãoStarted and ICorProfilerCallback2::GarbagecoleçãoFinished retornos de chamada para determinar que lixo coleção está ocorrendo e para identificar quais gerações são abordadas. (Para obter mais informações sobre lixo-coleção gerações, consulte o COR_PRF_GC_GENERATION enumeração.) Esses retornos de chamada não tem o problema de desligado mencionado na seção anterior.

ObservaçãoObservação:

Lixo simultâneo coleção não há suporte para aplicativos executados no WOW64 x86 emulador em sistemas de 64 bit que implementam a arquitetura Intel Itanium (anteriormente chamado IA-64). Para obter mais informações sobre o uso do WOW64 em sistemas Windows de 64 bit, consulte Executando aplicativos de 32 bit .

Consulte também

Conceitos

Lixo coleção bloqueio na API de criação de perfil

Outros recursos

Conceitos chave na API de criação de perfil

Visão geral de criação de perfil