using System; using UnityEditor.MemoryProfiler; namespace MemoryProfilerWindow { static class ManagedHeapExtensions { public static BytesAndOffset Find(this MemorySection[] heap, UInt64 address, VirtualMachineInformation virtualMachineInformation) { foreach (var segment in heap) if (address >= segment.startAddress && address < (segment.startAddress + (ulong)segment.bytes.Length)) return new BytesAndOffset() { bytes = segment.bytes, offset = (int)(address - segment.startAddress), pointerSize = virtualMachineInformation.pointerSize }; return new BytesAndOffset(); } } }