Dela via


ICorProfilerCallback::ObjectReferences, metod

Meddelar profileraren om objekt i minnet som refereras av det angivna objektet.

Syntax

HRESULT ObjectReferences(  
    [in]  ObjectID objectId,  
    [in]  ClassID  classId,  
    [in]  ULONG    cObjectRefs,  
    [in, size_is(cObjectRefs)] ObjectID objectRefIds[] );  

Parametrar

objectId
[in] ID:t för objektet som refererar till objekt.

classId
[in] ID:t för klassen som det angivna objektet är en instans av.

cObjectRefs
[in] Antalet objekt som refereras av det angivna objektet (det vill sa antalet element i matrisen objectRefIds ).

objectRefIds
[in] En matris med ID:er med objekt som refereras av objectId.

Kommentarer

Metoden ObjectReferences anropas för varje objekt som finns kvar i heapen när en skräpinsamling har slutförts. Om profileraren returnerar ett fel från det här återanropet upphör profileringstjänsterna att anropa det här återanropet till nästa skräpinsamling.

Motringningen ObjectReferences kan användas tillsammans med återanropet ICorProfilerCallback::RootReferences för att skapa ett fullständigt objektreferensdiagram för körningen. CLR (Common Language Runtime) säkerställer att varje objektreferens endast rapporteras en gång med ObjectReferences metoden .

Objekt-ID:n som returneras av ObjectReferences är inte giltiga under själva återanropet, eftersom skräpinsamlingen kan vara mitt i objekt som flyttas. Profilerare får därför inte försöka inspektera objekt under ett ObjectReferences anrop. När ICorProfilerCallback2::GarbageCollectionFinished anropas är skräpinsamlingen klar och inspektionen kan utföras på ett säkert sätt.

Ett null-värde ClassId anger att objectId har en typ som håller på att tas bort.

Krav

Plattformar: Se Systemkrav.

Huvudet: CorProf.idl, CorProf.h

Bibliotek: CorGuids.lib

.NET Framework versioner: Tillgänglig sedan 2.0

Se även