public override object GetValue(ulong objRef, bool interior = false, bool convertStrings = true) { if (!HasSimpleValue) { return(null); } ulong addr = GetAddress(objRef, interior); if (ElementType == ClrElementType.String) { object val = _heap.GetValueAtAddress(ClrElementType.Object, addr); Debug.Assert(val == null || val is ulong); if (val == null || !(val is ulong)) { return(convertStrings ? null : (object)(ulong)0); } addr = (ulong)val; if (!convertStrings) { return(addr); } } return(_heap.GetValueAtAddress(ElementType, addr)); }