示例#1
0
        /// <summary>
        /// Record the given breakpoint under the given state. If the breakpoint already
        /// exists in our list simply remove it. It's state during this runstate is unchanged.
        /// </summary>
        public void Record(Breakpoint brk, BreakpointState brkState)
        {
            if (brkState == BreakpointState.Added)
            {
                // User removed it, but changed his mind before hitting Run.
                if (_Removed.Contains(brk))
                {
                    _Removed.Remove(brk);
                }
                else
                {
                    _Added.Add(brk);
                }

                _Breakpoints.Add(brk);
            }
            else
            {
                if (_Added.Contains(brk))
                {
                    _Added.Remove(brk);
                }
                else
                {
                    _Removed.Add(brk);
                }

                _Breakpoints.Remove(brk);
            }
        }
示例#2
0
 public Breakpoint(string stackId, SourceLocation loc, string condition, BreakpointState state)
 {
     this.StackId   = stackId;
     this.Location  = loc;
     this.State     = state;
     this.Condition = condition;
     this.ConditionAlreadyEvaluatedWithError = false;
 }
示例#3
0
		private async Task EnableOrDisableBreakpoint(BreakpointMarker breakpointMarker, BreakpointState state)
		{
			var breakpoint = breakpointMarker.Breakpoint;
			var actionResult = await SafeRaiseBreakpointChanged(breakpoint, state);
			if (!actionResult.IsSuccessful)
			{
				return;
			}

			breakpoint.IsEnabled = state == BreakpointState.Enabled;
			var breakpointData = GetBreakpointData(breakpoint);
			DocumentBreakpoints.Single(bp => Equals(bp, breakpointData)).IsEnabled = breakpoint.IsEnabled;

			breakpointMarker.InvalidateVisual();
		}
示例#4
0
 public Breakpoint(SourceLocation loc, int localId, BreakpointState state)
 {
     this.Location = loc;
     this.LocalId  = localId;
     this.State    = state;
 }
示例#5
0
        /// <summary>
        /// Record the given breakpoint under the given state. If the breakpoint already
        /// exists in our list simply remove it. It's state during this runstate is unchanged.
        /// </summary>        
        public void Record(Breakpoint brk, BreakpointState brkState)
        {
            if (brkState == BreakpointState.Added)
            {
                // User removed it, but changed his mind before hitting Run.
                if (_Removed.Contains(brk))
                {
                    _Removed.Remove(brk);
                }
                else
                {
                    _Added.Add(brk);
                }

                _Breakpoints.Add(brk);

            }
            else
            {
                if (_Added.Contains(brk))
                {
                    _Added.Remove(brk);
                }
                else
                {
                    _Removed.Add(brk);
                }

                _Breakpoints.Remove(brk);
            }
        }
 public Breakpoint(string stackId, SourceLocation loc, BreakpointState state)
 {
     this.StackId  = stackId;
     this.Location = loc;
     this.State    = state;
 }
 public NuGenBreakpointLine(BreakpointState breakpointState, int instructionOffset)
     : base(instructionOffset, false)
 {
     BreakpointState = breakpointState;
 }
示例#8
0
        private async Task EnableOrDisableBreakpoint(BreakpointMarker breakpointMarker, BreakpointState state)
        {
            var breakpoint   = breakpointMarker.Breakpoint;
            var actionResult = await SafeRaiseBreakpointChanged(breakpoint, state);

            if (!actionResult.IsSuccessful)
            {
                return;
            }

            breakpoint.IsEnabled = state == BreakpointState.Enabled;
            var breakpointData = GetBreakpointData(breakpoint);

            DocumentBreakpoints.Single(bp => Equals(bp, breakpointData)).IsEnabled = breakpoint.IsEnabled;

            breakpointMarker.InvalidateVisual();
        }
示例#9
0
 protected BreakpointChangedEventArgsBase(Breakpoint breakpoint, BreakpointState state)
 {
     Breakpoint = breakpoint;
     State      = state;
 }
示例#10
0
		private async Task<BreakpointActionResult> SafeRaiseBreakpointChanged(Breakpoint breakpoint, BreakpointState breakpointState)
		{
			var result = new BreakpointActionResult();

			try
			{
				var changingEventArgs = new BreakpointChangingEventArgs(breakpoint, breakpointState);
				_debuggerView.RaiseBreakpointChanging(changingEventArgs);
				result = await changingEventArgs.SetBreakpointTask;

				if (result.IsSuccessful)
				{
					if (breakpointState == BreakpointState.Added)
					{
						breakpoint.Identifier = result.BreakpointIdentifier;
					}

					_debuggerView.RaiseBreakpointChanged(new BreakpointChangedEventArgs(breakpoint, breakpointState, GetBreakpointData(breakpoint)));
				}
			}
			catch (Exception exception)
			{
				Messages.ShowError(exception.Message);
			}

			return result;
		}
示例#11
0
 public BreakpointChangingEventArgs(Breakpoint breakpoint, BreakpointState state)
     : base(breakpoint, state)
 {
 }
示例#12
0
        private async Task <BreakpointActionResult> SafeRaiseBreakpointChanged(Breakpoint breakpoint, BreakpointState breakpointState)
        {
            var result = new BreakpointActionResult();

            try
            {
                var changingEventArgs = new BreakpointChangingEventArgs(breakpoint, breakpointState);
                _debuggerView.RaiseBreakpointChanging(changingEventArgs);
                result = await changingEventArgs.SetBreakpointTask;

                if (result.IsSuccessful)
                {
                    if (breakpointState == BreakpointState.Added)
                    {
                        breakpoint.Identifier = result.BreakpointIdentifier;
                    }

                    _debuggerView.RaiseBreakpointChanged(new BreakpointChangedEventArgs(breakpoint, breakpointState, GetBreakpointData(breakpoint)));
                }
            }
            catch (Exception exception)
            {
                Messages.ShowError(exception.Message);
            }

            return(result);
        }
示例#13
0
		protected BreakpointChangedEventArgsBase(Breakpoint breakpoint, BreakpointState state)
		{
			Breakpoint = breakpoint;
			State = state;
		}
示例#14
0
		public BreakpointChangedEventArgs(Breakpoint breakpoint, BreakpointState state, BreakpointData breakpointData)
			: base(breakpoint, state)
		{
			BreakpointData = breakpointData;
		}
示例#15
0
		public BreakpointChangingEventArgs(Breakpoint breakpoint, BreakpointState state)
			: base(breakpoint, state)
		{
		}
示例#16
0
 public BreakpointChangedEventArgs(Breakpoint breakpoint, BreakpointState state, BreakpointData breakpointData)
     : base(breakpoint, state)
 {
     BreakpointData = breakpointData;
 }
		public NuGenBreakpointLine(BreakpointState breakpointState, int instructionOffset)
			: base(instructionOffset, false)
		{
			BreakpointState = breakpointState;
		}