public override async Task InvalidateAsync(IDebugger debugger) { foreach (var value in lastChangedValues) { value.HasChanged = false; } lastChangedValues.Clear(); List <MemoryBytes> newData = null; newData = await debugger.ReadMemoryBytesAsync(actualAddress, 0, count); if (newData != null) { var newValues = converter(newData.First().Data); for (int i = 0; i < values.Count; i++) { if (!Values[i].Value.Equals(newValues[i])) { Values[i].Value = newValues[i]; Values[i].HasChanged = true; lastChangedValues.Add(Values[i]); } } Text = GetText(newData.First().Data); } }
private async Task <List <MemoryBytes> > ReadMemoryBytesAsync(ulong address, ulong offset, uint count) { var result = await debugger.ReadMemoryBytesAsync(address, offset, count); if (result == null) { result = new List <MemoryBytes>(); result.Add(new MemoryBytes() { Address = address, Data = new byte[count] }); } return(result); }