public int[] mFieldOwnedIndex; // does not include bases fields public ObjectData_DebugInfo(CachedSnapshot snapshot, int managedTypeIndex) { mTypeName = snapshot.typeDescriptions.typeDescriptionName[managedTypeIndex]; mFieldInstanceIndex = snapshot.typeDescriptions.fieldIndices_instance[managedTypeIndex]; mFieldsInstace = new Field[mFieldInstanceIndex.Length]; for (int i = 0; i != mFieldInstanceIndex.Length; ++i) { mFieldsInstace[i] = new Field(snapshot, mFieldInstanceIndex[i]); } mFieldStaticIndex = snapshot.typeDescriptions.fieldIndices_static[managedTypeIndex]; mFieldsStatic = new Field[mFieldStaticIndex.Length]; for (int i = 0; i != mFieldStaticIndex.Length; ++i) { mFieldsStatic[i] = new Field(snapshot, mFieldStaticIndex[i]); } mFieldOwnedIndex = snapshot.typeDescriptions.fieldIndices[managedTypeIndex]; mFieldsAll = new Field[mFieldOwnedIndex.Length]; for (int i = 0; i != mFieldOwnedIndex.Length; ++i) { mFieldsAll[i] = new Field(snapshot, mFieldOwnedIndex[i]); } var iBaseType = snapshot.typeDescriptions.baseOrElementTypeIndex[managedTypeIndex]; if (iBaseType >= 0) { mBase = new ObjectData_DebugInfo(snapshot, iBaseType); } }
private void SetManagedType(CachedSnapshot snapshot, int iType) { m_data.managed.iType = iType; #if MEMPROFILER_DEBUG_INFO mDebugInfo = new ObjectData_DebugInfo(snapshot, iType); #endif }
private ObjectData(ObjectDataType t) { m_dataType = t; m_data = new Data(); m_data.managed.objectPtr = 0; managedObjectData = new BytesAndOffset(); m_data.managed.iType = -1; m_Parent = null; #if MEMPROFILER_DEBUG_INFO mDebugInfo = null; #endif }