public void Remove(Breakpoint bp) { var ilbp = bp as ILCodeBreakpoint; if (ilbp != null) { bool b = ilCodeBreakpoints.Remove(ilbp); Debug.Assert(b); if (b) { UninitializeDebuggerBreakpoint(bp); BreakpointsRemoved?.Invoke(this, new BreakpointsRemovedEventArgs(bp)); } return; } var debp = bp as DebugEventBreakpoint; if (debp != null) { bool b = eventBreakpoints.Remove(debp); Debug.Assert(b); if (b) { UninitializeDebuggerBreakpoint(bp); BreakpointsRemoved?.Invoke(this, new BreakpointsRemovedEventArgs(bp)); } return; } }
public void Clear() { var bps = GetBreakpoints(); ilCodeBreakpoints.Clear(); eventBreakpoints.Clear(); foreach (var bp in bps) { UninitializeDebuggerBreakpoint(bp); } BreakpointsRemoved?.Invoke(this, new BreakpointsRemovedEventArgs(bps)); }