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();
|
}
|
}
|
}
|