当前位置: 首页>>代码示例>>C#>>正文


C# Client.Breakpoint类代码示例

本文整理汇总了C#中Mono.Debugging.Client.Breakpoint的典型用法代码示例。如果您正苦于以下问题:C# Breakpoint类的具体用法?C# Breakpoint怎么用?C# Breakpoint使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Breakpoint类属于Mono.Debugging.Client命名空间,在下文中一共展示了Breakpoint类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Bind

		internal void Bind (PinnedWatch watch, Breakpoint be)
		{
			lock (watches) {
				if (be == null) {
					if (watch.BoundTracer != null)
						liveWatches.Remove (watch.BoundTracer);
					watch.LiveUpdate = false;
				} else {
					watch.BoundTracer = be;
					liveWatches [be] = watch;
					watch.LiveUpdate = true;
				}
			}
		}
开发者ID:brantwedel,项目名称:monodevelop,代码行数:14,代码来源:PinnedWatchStore.cs

示例2: BreakpointPropertiesDialog

		public BreakpointPropertiesDialog (Breakpoint bp, bool isNew)
		{
			this.Build();
			this.bp = bp;
			
			entryFile.Text = bp.FileName;
			entryLine.Text = bp.Line.ToString ();
			
			if (!isNew) {
				entryFile.IsEditable = false;
				entryLine.IsEditable = false;
				entryFile.ModifyBase (Gtk.StateType.Normal, Style.Backgrounds [(int)Gtk.StateType.Insensitive]);
				entryFile.ModifyBase (Gtk.StateType.Active, Style.Backgrounds [(int)Gtk.StateType.Insensitive]);
				entryLine.ModifyBase (Gtk.StateType.Normal, Style.Backgrounds [(int)Gtk.StateType.Insensitive]);
				entryLine.ModifyBase (Gtk.StateType.Active, Style.Backgrounds [(int)Gtk.StateType.Insensitive]);
			}
			
			if (string.IsNullOrEmpty (bp.ConditionExpression)) {
				radioBreakAlways.Active = true;
			} else {
				entryCondition.Text = bp.ConditionExpression;
				if (bp.BreakIfConditionChanges)
					radioBreakChange.Active = true;
				else
					radioBreakTrue.Active = true;
			}
			
			spinHitCount.Value = bp.HitCount;
			
			if (bp.HitAction == HitAction.Break)
				radioActionBreak.Active = true;
			else {
				radioActionTrace.Active = true;
				entryTraceExpr.Text = bp.TraceExpression;
			}
			
			Project project = IdeApp.Workspace.GetProjectContainingFile (bp.FileName);
			if (project != null) {
				// Check the startup project of the solution too, since the current project may be a library
				SolutionEntityItem startup = project.ParentSolution.StartupItem;
				boxConditionOptions.Sensitive = DebuggingService.IsFeatureSupported (project, DebuggerFeatures.ConditionalBreakpoints) ||
					DebuggingService.IsFeatureSupported (startup, DebuggerFeatures.ConditionalBreakpoints);
				boxAction.Sensitive = DebuggingService.IsFeatureSupported (project, DebuggerFeatures.Tracepoints) ||
					DebuggingService.IsFeatureSupported (startup, DebuggerFeatures.Tracepoints);
			}
			
			UpdateControls ();
		}
开发者ID:transformersprimeabcxyz,项目名称:monodevelop-1,代码行数:48,代码来源:BreakpointPropertiesDialog.cs

示例3: Update

			public void Update (Breakpoint bp)
			{
				Update (bp.FileName, bp.Line, bp.Column);
			}
开发者ID:riverans,项目名称:monodevelop,代码行数:4,代码来源:BreakpointPropertiesDialog.cs

示例4: SetInitialBreakpointData

		void SetInitialBreakpointData (Breakpoint bp)
		{
			stopOnFunction.Visible = false;
			hboxFunction.Visible = false;
			stopOnException.Visible = false;
			vboxException.Visible = false;

			stopOnLocation.Active = true;
			breakpointLocation.Update (bp);

			entryLocationFile.Text = breakpointLocation.ToString ();
			Project project = null;
			if (!string.IsNullOrEmpty (bp.FileName))
				project = IdeApp.Workspace.GetProjectsContainingFile (bp.FileName).FirstOrDefault ();

			if (project != null) {
				// Check the startup project of the solution too, since the current project may be a library
				SolutionEntityItem startup = project.ParentSolution.StartupItem;
				entryConditionalExpression.Sensitive = DebuggingService.IsFeatureSupported (project, DebuggerFeatures.ConditionalBreakpoints) ||
				DebuggingService.IsFeatureSupported (startup, DebuggerFeatures.ConditionalBreakpoints);

				bool canTrace = DebuggingService.IsFeatureSupported (project, DebuggerFeatures.Tracepoints) ||
				                DebuggingService.IsFeatureSupported (startup, DebuggerFeatures.Tracepoints);

				breakpointActionPause.Sensitive = canTrace;
				entryPrintExpression.Sensitive = canTrace;
			}
		}
开发者ID:riverans,项目名称:monodevelop,代码行数:28,代码来源:BreakpointPropertiesDialog.cs

示例5: InsertBreakpoint

		void InsertBreakpoint (Breakpoint bp, BreakInfo bi)
		{
			bi.Req = vm.SetBreakpoint (bi.Location.Method, bi.Location.ILOffset);
			bi.Req.Enabled = bi.Enabled;
			breakpoints [bi.Req] = bi;
		}
开发者ID:tech-uday-mca,项目名称:monodevelop,代码行数:6,代码来源:SoftDebuggerSession.cs

示例6: ShowBreakpointProperties

		public static bool ShowBreakpointProperties (Breakpoint bp, bool editNew)
		{
			var dlg = new BreakpointPropertiesDialog (bp, editNew);
			if (MessageService.ShowCustomDialog (dlg) == (int) Gtk.ResponseType.Ok)
				return true;
			return false;
		}
开发者ID:alistick,项目名称:monodevelop,代码行数:7,代码来源:DebuggingService.cs

示例7: AddBreakpoint

		void AddBreakpoint (Breakpoint bp)
		{
			if (DebuggingService.PinnedWatches.IsWatcherBreakpoint (bp))
				return;
			FilePath fp = Name;
			if (fp.FullPath == bp.FileName) {
				DocumentLine line = widget.TextEditor.Document.GetLine (bp.Line);
				var status = bp.GetStatus (DebuggingService.DebuggerSession);
				
				if (line == null)
					return;
				if (!bp.Enabled) {
					if (bp.HitAction == HitAction.Break)
						widget.TextEditor.Document.AddMarker (line, new DisabledBreakpointTextMarker (widget.TextEditor, false));
					else
						widget.TextEditor.Document.AddMarker (line, new DisabledBreakpointTextMarker (widget.TextEditor, true));
				} else if (status == BreakEventStatus.Bound || status == BreakEventStatus.Disconnected) {
					if (bp.HitAction == HitAction.Break)
						widget.TextEditor.Document.AddMarker (line, new BreakpointTextMarker (widget.TextEditor, false));
					else
						widget.TextEditor.Document.AddMarker (line, new BreakpointTextMarker (widget.TextEditor, true));
				} else
					widget.TextEditor.Document.AddMarker (line, new InvalidBreakpointTextMarker (widget.TextEditor));
				widget.TextEditor.QueueDraw ();
				breakpointSegments.Add (line);
			}
		}
开发者ID:nocache,项目名称:monodevelop,代码行数:27,代码来源:SourceEditorView.cs

示例8: InsertBreakpoint

		void InsertBreakpoint (Breakpoint bp, BreakInfo bi)
		{
			bi.Req = vm.SetBreakpoint (bi.Location.Method, bi.Location.ILOffset);
			bi.Req.Enabled = bi.Enabled;
			breakpoints [bi.Req] = bi;
			OnBreakpointBound (bp, (BreakpointEventRequest) bi.Req);
		}
开发者ID:trustme,项目名称:monodevelop,代码行数:7,代码来源:SoftDebuggerSession.cs

示例9: AddBreakpoint

		void AddBreakpoint (Breakpoint bp)
		{
			if (DebuggingService.PinnedWatches.IsWatcherBreakpoint (bp))
				return;
			var textEditor = widget.TextEditor;
			if (textEditor == null)
				return;
			var document = textEditor.Document;
			if (document == null)
				return;

			FilePath fp = Name;
			if (fp.FullPath == bp.FileName) {
				if (bp.Line <= 0 || bp.Line > textEditor.Document.LineCount) {
					LoggingService.LogWarning ("Invalid breakpoint :" + bp + " in line " + bp.Line);
					return;
				}
				DocumentLine line = document.GetLine (bp.Line);
				var status = bp.GetStatus (DebuggingService.DebuggerSession);
				bool tracepoint = (bp.HitAction & HitAction.Break) == HitAction.None;

				if (line == null)
					return;

				//TODO: 1. When not in debug mode use Microsoft.CodeAnalysis.CSharp.EditAndContinue.BreakpointSpans.TryGetBreakpointSpan
				//TODO: 2. When in debug mode extend Breakpoint class to have endLine and endColumn set if .mdb/.pdb has endLine/endColumn
				var offset = line.Offset;
				var lenght = line.Length;
				DebugMarkerPair marker;
				if (!bp.Enabled) {
					marker = new DisabledBreakpointTextMarker (textEditor, offset, lenght, tracepoint);
				} else if (status == BreakEventStatus.Bound || status == BreakEventStatus.Disconnected) {
					marker = new BreakpointTextMarker (textEditor, offset, lenght, tracepoint);
				} else {
					marker = new InvalidBreakpointTextMarker (textEditor, offset, lenght, tracepoint);
				}

				textEditor.QueueDraw ();
				breakpointSegments.Add (marker);
				marker.AddTo (document, line);
			}
		}
开发者ID:stephenoakman,项目名称:monodevelop,代码行数:42,代码来源:SourceEditorView.cs

示例10: InsertBreakpoint

		void InsertBreakpoint (Breakpoint bp, BreakInfo bi)
		{
			bi.Req = vm.SetBreakpoint (bi.Location.Method, bi.Location.ILOffset);
			bi.Req.Enabled = bi.BreakEvent.Enabled;
			breakpoints [bi.Req] = bi;
			
			if (bi.Location.LineNumber != bp.Line)
				bi.AdjustBreakpointLocation (bi.Location.LineNumber);
		}
开发者ID:famousthom,项目名称:monodevelop,代码行数:9,代码来源:SoftDebuggerSession.cs

示例11: AddBreakpoint

		void AddBreakpoint (Breakpoint bp)
		{
			if (DebuggingService.PinnedWatches.IsWatcherBreakpoint (bp))
				return;
			var textEditor = widget.TextEditor;
			if (textEditor == null)
				return;
			var document = textEditor.Document;
			if (document == null)
				return;

			FilePath fp = Name;
			if (fp.FullPath == bp.FileName) {
				if (bp.Line <= 0 || bp.Line > textEditor.Document.LineCount) {
					LoggingService.LogWarning ("Invalid breakpoint :" + bp +" in line " + bp.Line); 
					return;
				}
				DocumentLine line = document.GetLine (bp.Line);
				var status = bp.GetStatus (DebuggingService.DebuggerSession);
				bool tracepoint = (bp.HitAction & HitAction.Break) == HitAction.None;

				if (line == null)
					return;

				if (!bp.Enabled) {
					document.AddMarker (line, new DisabledBreakpointTextMarker (textEditor, tracepoint));
				} else if (status == BreakEventStatus.Bound || status == BreakEventStatus.Disconnected) {
					document.AddMarker (line, new BreakpointTextMarker (textEditor, tracepoint));
				} else {
					document.AddMarker (line, new InvalidBreakpointTextMarker (textEditor, tracepoint));
				}

				textEditor.QueueDraw ();
				breakpointSegments.Add (line);
			}
		}
开发者ID:vitorelli,项目名称:monodevelop,代码行数:36,代码来源:SourceEditorView.cs

示例12: IsWatcherBreakpoint

		public bool IsWatcherBreakpoint (Breakpoint bp)
		{
			lock (watches) {
				return liveWatches.ContainsKey (bp);
			}
		}
开发者ID:brantwedel,项目名称:monodevelop,代码行数:6,代码来源:PinnedWatchStore.cs

示例13: UpdateLiveWatch

		internal bool UpdateLiveWatch (Breakpoint bp, string trace)
		{
			lock (watches) {
				PinnedWatch w;
				if (!liveWatches.TryGetValue (bp, out w))
					return false;
				w.UpdateFromTrace (trace);
				return true;
			}
		}
开发者ID:brantwedel,项目名称:monodevelop,代码行数:10,代码来源:PinnedWatchStore.cs

示例14: BreakpointEventArgs

		public BreakpointEventArgs (Breakpoint bp)
		{
			this.bp = bp;
		}
开发者ID:0xb1dd1e,项目名称:debugger-libs,代码行数:4,代码来源:BreakpointEventArgs.cs

示例15: SaveBreakpoint

		void SaveBreakpoint (Breakpoint bp)
		{
			bp.SetColumn (breakpointLocation.Column);
			bp.SetLine (breakpointLocation.Line);
		}
开发者ID:riverans,项目名称:monodevelop,代码行数:5,代码来源:BreakpointPropertiesDialog.cs


注:本文中的Mono.Debugging.Client.Breakpoint类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。