internal void EnableBreakpoint(BreakpointEntry entry, bool enable) { if (enable) entry.Handle.Enable (proc); else entry.Handle.Disable (proc); if (BreakpointChanged != null) BreakpointChanged (this, new BreakpointEventArgs (entry)); }
void RemoveBreakpoint(BreakpointEntry entry) { if (IsDebugging) entry.Handle.Remove (proc); breakpoints.Remove (entry.FileName + ":" + entry.Line); if (BreakpointRemoved != null) BreakpointRemoved (this, new BreakpointEventArgs (entry)); }
public bool AddBreakpoint(string filename, int linenum) { string key = filename + ":" + linenum; if (breakpoints.Contains (key)) return true; BreakpointHandle brkptnum = null; if (IsDebugging) { Breakpoint point = CreateBreakpoint (key); SourceLocation loc = backend.FindLocation(filename, linenum); if (loc == null) return false; brkptnum = loc.InsertBreakpoint (proc, point); } BreakpointEntry entry = new BreakpointEntry (this, filename, linenum); entry.Handle = brkptnum; breakpoints.Add (key, entry); if (BreakpointAdded != null) BreakpointAdded (this, new BreakpointEventArgs (entry)); return true; }