private bool FindObject(ulong addr, out LiveObjectTable.LiveObject o) { ulong id = liveObjectTable.FindObjectBackward(addr); liveObjectTable.GetNextObject(id, addr + 4, out o); return(o.id <= addr && addr < o.id + o.size); }
private AddressRange AddressRangeOfObject(ref LiveObjectTable.LiveObject o, AddressRange hint) { if (hint != null && hint.loAddr <= o.id && o.id < hint.hiAddr) { return(hint); } return(AddressRangeOfObject(ref o)); }
private AddressRange AddressRangeOfObject(ref LiveObjectTable.LiveObject o) { AddressRange r = AddressRangeOf(o.id); if (r != null) { return(r); } Debug.Assert(false); // ReSharper disable once HeuristicUnreachableCode rangeList = new AddressRange(o.id, o.id + o.size, rangeList, rangeCount++); return(rangeList); }