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