Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriain holmes <iain@xamarin.com>2018-01-19 14:34:22 +0300
committermonojenkins <jo.shields+jenkins@xamarin.com>2020-01-21 21:57:16 +0300
commitdaeb98d1f059f27c8afd81aafe0a568b9fdb5c71 (patch)
treed75c81456a6b294d9f6d0788a5cf44a7fb1f0e53
parentd02f67c11fa055b67b5e55c0b344706a49ec1e40 (diff)
[Debugger] Can't edit function breakpoint
Enable editing of breakpoint locations, either line, function or exception Fixes VSTS #528267
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog.cs29
1 files changed, 23 insertions, 6 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog.cs
index 2d31fada3a..1a92be8320 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/BreakpointPropertiesDialog.cs
@@ -364,6 +364,12 @@ namespace MonoDevelop.Debugger
fb.ParamTypes = parsedParamTypes;
}
+ void SaveCatchpoint (Catchpoint cp)
+ {
+ cp.ExceptionName = entryExceptionType.Text;
+ cp.IncludeSubclasses = checkIncludeSubclass.Active;
+ }
+
class ParsedLocation
{
int line;
@@ -461,14 +467,17 @@ namespace MonoDevelop.Debugger
void OnSave (object sender, EventArgs e)
{
+ bool catchpointSaved = false;
+
if (be == null) {
if (stopOnFunction.Active)
be = new FunctionBreakpoint ("", "C#");
else if (stopOnLocation.Active)
be = breakpointLocation.ToBreakpoint ();
- else if (stopOnException.Active)
+ else if (stopOnException.Active) {
be = new Catchpoint (entryExceptionType.Text, checkIncludeSubclass.Active);
- else
+ catchpointSaved = true;
+ } else
return;
}
@@ -480,6 +489,13 @@ namespace MonoDevelop.Debugger
if (bp != null)
SaveBreakpoint (bp);
+ if (!catchpointSaved) {
+ var cp = be as Catchpoint;
+ if (cp != null) {
+ SaveCatchpoint (cp);
+ }
+ }
+
if ((HitCountMode)ignoreHitType.SelectedItem == HitCountMode.GreaterThanOrEqualTo && (int)ignoreHitCount.Value == 0) {
be.HitCountMode = HitCountMode.None;
} else {
@@ -518,10 +534,11 @@ namespace MonoDevelop.Debugger
}
// Check which radio is selected.
- hboxFunction.Sensitive = stopOnFunction.Active && DebuggingService.IsFeatureSupported (DebuggerFeatures.Breakpoints) && !editing;
- hboxLocation.Sensitive = stopOnLocation.Active && DebuggingService.IsFeatureSupported (DebuggerFeatures.Breakpoints) && !editing;
- hboxException.Sensitive = stopOnException.Active && DebuggingService.IsFeatureSupported (DebuggerFeatures.Catchpoints) && !editing;
- checkIncludeSubclass.Sensitive = stopOnException.Active && !editing;
+ var connected = DebuggingService.DebuggerSession != null ? DebuggingService.DebuggerSession.IsConnected : false;
+ hboxFunction.Sensitive = stopOnFunction.Active && DebuggingService.IsFeatureSupported (DebuggerFeatures.Breakpoints) && !connected;
+ hboxLocation.Sensitive = stopOnLocation.Active && DebuggingService.IsFeatureSupported (DebuggerFeatures.Breakpoints) && !connected;
+ hboxException.Sensitive = stopOnException.Active && DebuggingService.IsFeatureSupported (DebuggerFeatures.Catchpoints) && !connected;
+ checkIncludeSubclass.Sensitive = stopOnException.Active;
hboxCondition.Sensitive = DebuggingService.IsFeatureSupported (DebuggerFeatures.ConditionalBreakpoints);
// Check printing an expression.