public IBreakpoint SetBreakpoint(bool isRam, byte page, ushort address) { Debug.WriteLine("Setting breakpoint " + isRam + " " + page + " " + address); CalcAddress calcAddr = new CalcAddress(); IPage calcPage = GetCalcPage(isRam, page); calcAddr.Initialize(calcPage, address); return(_debugger.Breakpoints.Add(calcAddr)); }
private void DebuggerService_OnDebuggingStarted(object sender, DebuggingEventArgs e) { var debugger = e.Debugger; debugger.DebuggerRunningChanged += Debugger_DebuggerRunningChanged; var mapLoadAddress = _symbolService.SymbolTable.GetAddressFromLabel("load_map"); if (!mapLoadAddress.HasValue) { return; } var calcAddr = new CalcAddress(); var calcPage = debugger.NativeDebugger.Memory.Flash[0x15 - (mapLoadAddress.Value >> 16)]; calcAddr.Initialize(calcPage, (ushort)mapLoadAddress.Value); _mapLoadBreak = debugger.NativeDebugger.Breakpoints.Add(calcAddr); debugger.NativeDebugger.Breakpoint += NativeDebuggerOnBreakpoint; }