private void ParseBreakpoint(WatchValue watchValue, Breakpoint.Types type) { if (AddBreakpoint == null) { return; } var parseExpression = watchValue.Text.Trim(); var addressReference = new AddressReference(parseExpression, GetSymbol); AddBreakpoint(addressReference.BaseAddress, type, Breakpoint.AddressTypes.Cpu, addressReference.BaseAddress < 0 ? parseExpression: null); }
private void ToggleBreakpoint(Breakpoint.Types type, bool disable) { if (disable) { // Only alter breakpoints with no end address var breakpoints = _breakpoints.Where(bp => bp.Type.HasFlag(type) && bp.StartAddress == _menuAddress && bp.EndAddress == null).ToList(); foreach (var breakpoint in breakpoints) { breakpoint.Type ^= type; } if (RemoveBreakpoints != null) { RemoveBreakpoints(breakpoints.Where(bp => bp.Type == 0)); } } else if (AddBreakpoint != null) { AddBreakpoint(_menuAddress, type); } }