Método ICorProfilerCallback::RootReferences
Notifica o criador de perfil com informações sobre referências raiz após a coleta de lixo.
Sintaxe
HRESULT RootReferences(
[in] ULONG cRootRefs,
[in, size_is(cRootRefs)] ObjectID rootRefIds[] );
Parâmetros
cRootRefs
[in] O número de referências na rootRefIds
matriz.
rootRefIds
[in] Uma matriz de IDs de objeto, que fazem referência a um objeto estático ou a um objeto na pilha.
Comentários
Tanto RootReferences
quanto ICorProfilerCallback2::RootReferences2 são chamados para notificar o criador de perfil. Os criadores de perfil normalmente implementarão um método ou outro, mas não ambos, porque as informações passadas em RootReferences2
são um superconjunto do que foi passado em RootReferences
.
É possível que a matriz rootRefIds
contenha um objeto nulo. Por exemplo, todas as referências de objeto declaradas na pilha são tratadas como raízes pelo coletor de lixo e sempre serão relatadas.
As IDs de objeto retornadas por RootReferences
não são válidas durante o retorno de chamada em si, pois a coleta de lixo pode estar no meio da movimentação de objetos de endereços antigos para novos endereços. Portanto, os criadores de perfis não devem tentar inspecionar objetos durante uma chamada RootReferences
. Quando ICorProfilerCallback2::GarbageCollectionFinished é chamado, todos os objetos já foram movidos para seus novos locais e podem ser inspecionados com segurança.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versões do .NET Framework: disponíveis desde 2.0