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(); } }
public void RemoveAllBreakpoints(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++) { try { inferior.RemoveBreakpoint(indices [i]); } catch (Exception ex) { Report.Error("Removing breakpoint {0} failed: {1}", indices [i], ex); } } } finally { 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 void Remove (Inferior target) { if (index > 0) target.RemoveBreakpoint (this); index = -1; }
public override void Remove (Inferior inferior) { if (has_breakpoint) inferior.RemoveBreakpoint (this); has_breakpoint = false; }