public void DeleteBreakpoint(Breakpoint bp) { switch (bp.Type) { case MemoryBreakpointType.Execution: //if (ExecBps.ContainsKey(bp)) ExecBps.Remove(bp); if (ExecBps.Count == 0) { haveExecBps = false; } break; case MemoryBreakpointType.Read: //if (ReadBps.ContainsKey(bp)) ReadBps.Remove(bp); if (ReadBps.Count == 0) { haveReadBps = false; } break; case MemoryBreakpointType.Write: //if (WriteBps.ContainsKey(bp)) WriteBps.Remove(bp); if (WriteBps.Count == 0) { haveWriteBps = false; } break; } }
public void DeactivateBreakpoint(Breakpoint bp) { switch (bp.Type) { case MemoryBreakpointType.Execution: if (ExecBps.ContainsKey(bp)) { ExecBps[bp] = false; } break; case MemoryBreakpointType.Read: if (ReadBps.ContainsKey(bp)) { ReadBps[bp] = false; } break; case MemoryBreakpointType.Write: if (WriteBps.ContainsKey(bp)) { WriteBps[bp] = false; } break; } }
public void AddBreakpoint(Breakpoint bp, bool isActive) { bp.Address = (ushort)(bp.Address & 0x3FFF); switch (bp.Type) { case MemoryBreakpointType.Execution: haveExecBps = true; if (!ExecBps.ContainsKey(bp)) { ExecBps.Add(bp, isActive); } break; case MemoryBreakpointType.Read: haveReadBps = true; if (!ReadBps.ContainsKey(bp)) { ReadBps.Add(bp, isActive); } break; case MemoryBreakpointType.Write: haveWriteBps = true; if (!WriteBps.ContainsKey(bp)) { WriteBps.Add(bp, isActive); } break; } }
public bool IsReadBreakpoint(Breakpoint bp) { bool isActive = false; return(ReadBps.TryGetValue(bp, out isActive) ? isActive : false); }