public void InitializeAfterFork(Inferior inferior) { Lock(); try { int[] indices = new int [index_hash.Count]; index_hash.Keys.CopyTo(indices, 0); for (int i = 0; i < indices.Length; i++) { int idx = indices [i]; BreakpointEntry entry = (BreakpointEntry)index_hash [idx]; SourceBreakpoint bpt = entry.Handle.Breakpoint as SourceBreakpoint; if (!entry.Handle.Breakpoint.ThreadGroup.IsGlobal) { try { inferior.RemoveBreakpoint(idx); } catch (Exception ex) { Report.Error("Removing breakpoint {0} failed: {1}", idx, ex); } } } } finally { Unlock(); } }
private void breakpointList_DoubleClick(object sender, EventArgs e) { if (breakpointList.SelectedItem != null) { BreakpointEntry breakpoint = breakpointList.SelectedItem as BreakpointEntry; m_mainForm.GoTo(breakpoint.m_filename, breakpoint.m_lineNo); } }
public BreakpointManager(BreakpointManager old) { Lock(); index_hash = new Hashtable(); _manager = mono_debugger_breakpoint_manager_clone(old.Manager); foreach (int index in old.index_hash.Keys) { BreakpointEntry entry = (BreakpointEntry)old.index_hash [index]; index_hash.Add(index, entry); } Unlock(); }
public void DomainUnload(Inferior inferior, int domain) { Lock(); try { int[] indices = new int [index_hash.Count]; index_hash.Keys.CopyTo(indices, 0); for (int i = 0; i < indices.Length; i++) { BreakpointEntry entry = (BreakpointEntry)index_hash [indices [i]]; if (entry.Domain != domain) { continue; } inferior.RemoveBreakpoint(indices [i]); index_hash.Remove(indices [i]); } } finally { Unlock(); } }
public override bool Equals(object obj) { BreakpointEntry entry = (BreakpointEntry)obj; return((entry.Handle == Handle) && (entry.Domain == Domain)); }