Compartilhar via


Método de ICorProfilerCallback::RootReferences

Notifica o profiler com informações sobre referências raiz após a coleta de lixo.

HRESULT RootReferences(
    [in] ULONG    cRootRefs,
    [in, size_is(cRootRefs)] ObjectID rootRefIds[] );

Parâmetros

  • cRootRefs
    [in] O número de referências a rootRefIds matriz.

  • rootRefIds
    [in] Uma matriz de IDs de objeto para fazer referência a um objeto estático ou um objeto na pilha.

Comentários

Ambos RootReferences e ICorProfilerCallback2::RootReferences2 são chamados para notificar o profiler. Geradores de perfis normalmente irá implementar um ou outro, mas não ambos, porque as informações passadas na RootReferences2 é um superconjunto do que é passado em RootReferences.

É possível que o rootRefIds matriz para conter 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 serão sempre relatadas.

O IDs de objeto retornado por RootReferences não são válidos durante o retorno de chamada, porque a coleta de lixo pode estar no meio da movimentação de objetos de endereços antigos para novos endereços. Portanto, geradores de perfis não devem tentar inspecionar objetos durante um RootReferences chamada. Quando ICorProfilerCallback2::GarbageCollectionFinished é chamado, todos os objetos foram movidos para suas novas localizações e podem ser olhados com segurança.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: Corprof. idl, CorProf.h

Biblioteca: CorGuids.lib

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface de ICorProfilerCallback