private int TryBindBreakpoints() { int countBounded = 0; try { AD7PendingBreakpoint[] pendingList; lock (_pendingBreakpoints) pendingList = _pendingBreakpoints.Where(x => !x.Bound).ToArray(); foreach (AD7PendingBreakpoint bp in pendingList) { MonoBreakpointLocation location; if (bp.TryBind(_types, out location)) { try { int ilOffset; RoslynHelper.GetILOffset(bp, location.Method, out ilOffset); BreakpointEventRequest request = _vm.SetBreakpoint(location.Method, ilOffset); request.Enable(); bp.Bound = true; bp.LastRequest = request; _engine.Callback.BoundBreakpoint(bp); //_vm.Resume(); bp.CurrentThread = _mainThread; countBounded++; } catch (Exception ex) { logger.Error("Cant bind breakpoint: " + ex); } } } } catch (Exception ex) { logger.Error("Cant bind breakpoint: " + ex); } return(countBounded); }